memory - 我将如何预测redis中排序集的内存使用情况?
问题描述
我试图在使用排序集时预测我的 Redis (v6.2.5) 集群上的内存使用情况。从我最初的研究中我可以看出,键的长度、每个元素的长度以及每个分数的长度都会对内存使用产生影响。
这是我到目前为止所拥有的:
- 使用 1 到 8 个字符之间的键、长度为 1 的元素和长度为 1 的分数,我看到使用了 63 个字节的内存。
- 一个 9 个字符的密钥将内存使用量增加 8 个字节(71 个字节)
- 8 个字符的密钥、8 个字符的元素和 1 个字符的分数将使用量增加 4 个字节(75 个字节)
- 8 个字符的键、元素和分数会增加另外 4 个字节的使用量 (79)
我可以看到一种模式,但我希望 Redis 大师可以帮助我在源代码中或通过解释 Redis 中排序集的实现来理解这一点。
FWIW,我发现这表明分数存储为长度为 128 的字符数组。https://github.com/redis/redis/blob/c5e6a6204c4cf57f85e7c83a9b4e99f1a7204fd2/src/t_zset.c#L1029
任何帮助表示赞赏。
解决方案
推荐阅读
- laravel - 是否可以创建一个事件来自动将我在 Laravel 控制台中打印的内容注册到特定日志?
- php - 上传的文件没有保存在 php 中的服务器中
- c# - 即使在 Unity 中完成对话后也不会显示继续按钮
- discord - 如何检查用户是否在服务器中具有一定的权限?
- docker - docker 容器或服务如何在特定网络中专门找到彼此?
- c++ - 静态和重新解释铸造 - 定义的行为?
- javascript - 如何在视口中居中引导 5 模态对话框?
- python - Django 404 垃圾邮件
- python - 从 Function App 读取 Azure KeyVault 机密
- node.js - Node.js 中的 AEAD AES-256-GCM