Redis如何查看单个key所占用的内存大小

利用rdbtools的redis-memory-for-key命令即可查看的单个key的详细信息

官方github如下:

https://github.com/sripathikrishnan/redis-rdb-tools

安装该工具需要有python的pip包管理,所以先安装环境:

https://www.runoob.com/w3cnote/python-pip-install-usage.html

安装完事之后,就可以使用redis-memory-for-key命令了,

我们首先试下查看类型为hash,hash键为2的redisObject所占用的大小

s-主机/ip,p-端口,d-database

bytes:占用的字节数

type:键类型

encoding:redisObject的编码格式,即内部实际存放数据的数据结构类型

Number of Elements:内部的元素数

然后再插入一个k,v。通过bytes相减得出2的占用内存多大。

我们知道redis 的hash在内部k,v数量<=512个时会采用ziplist压缩列表来存储数据,当元素数大于512个时则采用hashtable来存储,我们就可以做个试验,利用lua向hash中插入512个元素,

for i=1,512,1 do redis.call('hset', 2,i,i) end;return 1

然后我们再看下内部的大小及类型

然后我们再插入一个元素

这时再查看变化

发现redis-memory-for-key命令还是比较准确的。除了这个功能,rdbtools还提供了其他有趣的功能,感兴趣的可以去官方github上围观。。。

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值