首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >redis.conf中的最大内存参数

redis.conf中的最大内存参数
EN

Stack Overflow用户
提问于 2015-03-31 13:01:11
回答 1查看 1.8K关注 0票数 1

我试图在redis.The中插入键"value“,”value“为X字节,而我的应用程序则被插入到redis中。我想知道在从./ redis -cli中触发"INFO“命令后要监视哪个参数,以检查redis.Am中是否使用了X(或者X+ somevalue,以防redis pads某些数据)字节数,这样做可以确定我的应用程序所需的maxmemory(redis.conf)参数。

我有一个主站和一个哨兵,我正在使用redis作为临时存储,我已经尝试过监视used_memory参数。但是,根据我得到的数据,maxmemory似乎与used_memory无关。

因此,我想使用“调试对象Mykey”(它给serializedlength.What的长度正好是这个长度),在redis文档中找不到任何描述。

所以基本上有两个问题:

  1. 是否与maxmemory和used_memory相关,如果是,那么使用used_memory计算插入键值占用的空间是否有问题。
  2. 在“调试对象Mykey”命令中序列化长度是什么?
EN

回答 1

Stack Overflow用户

发布于 2015-03-31 14:06:01

  1. maxmemory配置指令指示允许Redis用于用户数据的最大内存量。当设置为0(默认值)时,只要底层操作系统允许,Redis就会分配内存。used_memory命令中的INFO值是调用该命令时用户数据使用的实际内存。两者之间的关系(只要是maxmemory不是0)是used_memory <= maxmemory
  2. serializedlength输出的DEBUG OBJECT是序列化时存储在该键下的值的长度(以字节为单位)。要获得实际的序列化值,可以使用DUMP命令。请注意,序列化后的长度没有提供键所使用的实际内存量的准确度量,这是由于许多因素造成的,包括Redis对数据结构和管理费用的编码。

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

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

https://stackoverflow.com/questions/29369314

复制
相关文章

相似问题

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