首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何找到红色主题(键的子集)的大小?

如何找到红色主题(键的子集)的大小?
EN

Stack Overflow用户
提问于 2019-01-15 12:37:28
回答 1查看 239关注 0票数 2

我的红键是使用各种主题(例如Topic:SubTopic:Key)来排序的。

我想找到节Topic:*Topic:SubTopic:*的字节大小。

在一个主题下面,我可以有各种各样的条目(列表、字符串、散列、集合等)。

现在我知道cli有memory usage <key>命令,但我想使用lua在redis服务器上调用它。

我的方法是运行如下:

代码语言:javascript
复制
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命令类似的键的内存使用情况。

问题:

  1. 有没有更好的方法来分析我的钥匙?仅仅使用bigkeys是不够的。
  2. 如果没有,是否有任何等效的内存使用命令可以作为lua脚本的一部分运行以获得密钥的字节大小?
EN

回答 1

Stack Overflow用户

发布于 2019-01-15 12:52:31

您可以调用MEMORY USAGE来获取字节大小,包括给定键和值的开销。

注意:即使脱机运行,您也应该在Lua脚本中使用SCAN而不是KEYS -这将减少脚本的运行时内存消耗,并防止沙箱的堆栈溢出。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54199020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档