繁体   English   中英

redis.conf中的maxmemory参数

[英]maxmemory parameter in redis.conf

我试图在redis中插入key-“ value”。“ value”为X字节,而我的应用程序要插入redis。 我想知道从./redis-cli触发“ INFO”命令后要检查哪个参数,以检查Redis中是否使用了X(或X + somevalue,如果redis填充了一些数据)字节数。确定我的应用程序所需的maxmemory(redis.conf)参数。

我有一个主服务器和一个哨兵,并且正在使用Redis进行临时存储。我尝试监视used_memory参数。 但是根据我得到的数据,maxmemory似乎与used_memory无关。

因此,我改为考虑使用给出序列化长度的“调试对象Mykey”。该长度究竟是多少,我在redis文档中找不到任何描述。

所以基本上有两个问题:

  1. 是否与maxmemory和used_memory相关,如果是,则使用used_memory计算插入的键值所占用的空间是否有些困难。

  2. 什么是“调试对象Mykey”命令中的serializedlength

  1. maxmemory配置指令指示应该允许Redis用于用户数据的最大内存量。 设置为0(默认值)时,Redis将分配内存,只要基础操作系统允许即可。 INFO命令中的used_memory值是调用该命令时用户数据消耗的实际内存。 两者之间的关系(只要maxmemory不为0)为used_memory <= maxmemory

  2. DEBUG OBJECT输出的serializedlength是序列化时该键下存储的值的长度(字节大小)。 要获得实际的序列化值,可以使用DUMP命令。 请注意,由于包括Redis的数据结构编码和开销在内的诸多因素,序列化的长度不能提供密钥使用的实际内存量的准确度量。

通常,为了获得maxmemory设置的估计值,请尝试存储代表您的数据的几百个(例如1000个)键,然后检查used_memory ,除以该值,然后将结果乘以预期的键数安全裕度(例如,至少为%10)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM