aliyun redis 2.8版本
不能直接只用memory 命令
- 先看下大概情况
6379[6]>info memory
# Memory
used_memory:7976857808
used_memory_human:7.43G
used_memory_rss:8532668416
used_memory_peak:8528935256
used_memory_peak_human:7.94G
used_memory_lua:46080
mem_fragmentation_ratio:1.07
mem_allocator:jemalloc-3.6.0
- 每个db的key数量
6379[6]>info keyspace
# Keyspace
db0:keys=2,expires=0,avg_ttl=0
db1:keys=2778,expires=0,avg_ttl=0
db6:keys=31477082,expires=31477082,avg_ttl=223930618
db11:keys=21,expires=0,avg_ttl=0
db14:keys=1,expires=0,avg_ttl=0
db15:keys=1,expires=0,avg_ttl=0
- 分析单个key的内存占用
为啥这么做呢。因为主要内存占用都在6,11号库。
6号库是用来做 存在型检测的。里面几乎都是 keyname:0, keyname长度差不多。
so,闲话不要讲~~ let's move
本地起一个4.0的redis.... :>
单个key内存
127.0.0.1:6379> set iqt|583251377180None 0
OK
127.0.0.1:6379> MEMORY usage "iqt|583251377180None"
(integer) 64
single memory * count = db6 memory
只是估算。因为是在aliyun的redis, 用rdbtools 不是很方便
如果您有更好的方式,请联系我 非常感谢 :)
网友评论