我的红键是使用各种主题(例如Topic:SubTopic:Key)来排序的。
我想找到节Topic:*或Topic:SubTopic:*的字节大小。
在一个主题下面,我可以有各种各样的条目(列表、字符串、散列、集合等)。
现在我知道cli有memory usage <key>命令,但我想使用lua在redis服务器上调用它。
我的方法是运行如下:
eval "local keys = redis.call('keys',KEYS[1]) ; local sum=0 ; for _,k in ipairs(keys) do sum = sum + redis.call('memory usage', k) end ; return sum" 1 Topic:SubTopic:*我知道这个命令对性能有影响,因此我将脱机运行这个命令,只是为了分析我们的数据结构,而不是在生产中。
我的主要问题是找不到redis服务器命令来查找与cli命令类似的键的内存使用情况。
问题:
bigkeys是不够的。发布于 2019-01-15 12:52:31
您可以调用MEMORY USAGE来获取字节大小,包括给定键和值的开销。
注意:即使脱机运行,您也应该在Lua脚本中使用SCAN而不是KEYS -这将减少脚本的运行时内存消耗,并防止沙箱的堆栈溢出。
https://stackoverflow.com/questions/54199020
复制相似问题