我试图在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文档中找不到任何描述。
所以基本上有两个问题:
发布于 2015-03-31 14:06:01
maxmemory配置指令指示允许Redis用于用户数据的最大内存量。当设置为0(默认值)时,只要底层操作系统允许,Redis就会分配内存。used_memory命令中的INFO值是调用该命令时用户数据使用的实际内存。两者之间的关系(只要是maxmemory不是0)是used_memory <= maxmemory。serializedlength输出的DEBUG OBJECT是序列化时存储在该键下的值的长度(以字节为单位)。要获得实际的序列化值,可以使用DUMP命令。请注意,序列化后的长度没有提供键所使用的实际内存量的准确度量,这是由于许多因素造成的,包括Redis对数据结构和管理费用的编码。通常,为了获得对您的maxmemory设置的估计,尝试存储几个代表您的数据的1000(例如1000)键,然后检查used_memory,然后除以该值,然后用安全裕度将结果乘以预期键数(例如,至少%10)。
https://stackoverflow.com/questions/29369314
复制相似问题