目前我们的业务线使用的单词查询服务必须通过 grpc 调用别人的接口,为了获得更快的响应速度。我通过一次批量的 grpc 调用在 redis 缓存了一份单词的全量拷贝(以 hashkey 的形式)。但是 key 太大的话也会带来一些问题,比如大量的 qps 打到该 key 所在的节点导致集群倾斜,为了了解目前这个 key 占用了多少内存,我用 redis-memory-for-key 进行了查询,下面我就来讲讲如何使用 redis-memory-for-key.

安装 rdb-tools

redis-memory-for-key 是 rdb-tools 中的一个 script,所以首先我们需要通过 pip 安装 rdb-tools.

pip install rdbtools 
![](/assets/wp-content/uploads/2019/09/安装rdbtools-2.png)

向 redis 插入 key

HMSET runoobkey name "redis tutorial" description "redis basic commands for caching" likes 20 visitors 2
![](/assets/wp-content/uploads/2019/09/向-redis-插入-key.png)

使用 redis-memory-for-key

redis-memory-for-key -s localhost -p 6379 runoobkey
![](/assets/wp-content/uploads/2019/09/使用-redis-memory-for-key.png)

由图中可以看出 elements 的个数为 4 ,占用的内存为 158 bytes.