我试图在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楼 票数:0

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

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

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

  ask by Manas Saxena translate from so

未解决问题?本站智能推荐:

1回复

Redis忽略redis.conf中的目录

我最近在OS X上安装了Redis。我最初加载了一些对象,这方面的一切似乎都运行良好。 我将数据保存到dump.rdb ,如果我从该目录启动redis,并且不使用redis.conf文件,一切都会按计划进行。 问题在于,在/etc/redis/建立并设置redis.conf文件后,它
1回复

redis.conf中的“ requirepass”无效

我在Docker容器(Alpine Linux)中运行Redis。 我按照手册在/etc/redis.conf文件中设置了密码 requirepass Abcd-1234 但是,当我重新启动Redis(docker restart redis_container)时,我仍然被告知未
1回复

redis.conf包括:“错误的指令或错误的参数数量”

我为redis [/etc/redis/map.conf]创建了这个配置: 如您所见,它包括/etc/redis/ideal.conf; 这个文件确实存在,我们有读权限。 还有另一个文件,略有不同; 考虑[/etc/redis/storage.conf]: 我的问题是:我可
1回复

Redis NOAUTH错误 - 尽管在我的redis.conf文件中禁用了auth

在本地针对本地Redis实例运行我的应用程序时,我看到以下错误。 我相信我已通过在配置文件中使用这些行来禁用身份验证: 并且不需要密码: 什么可能是错的?
3回复

redis.conf 在官方docker镜像中的位置是什么?

我知道可以传递您自己的配置文件,但我宁愿编辑我在默认配置中关心的少数值。 不过,我很难在任何地方找到默认的 redis.conf,我是否只需要将自己的内容复制到容器中?
1回复

Linux Container内redis.conf中IP的绑定地址

在 Ubuntu 20.04 中,我创建了一个名为“ubuntuone”的 Linux 容器,以及 Ubuntu 20.04。 在 Linux Container 中,我安装了 Redis,但Could not connect to Redis at 127.0.0.1:6379 这是 lin
2回复

如何保存并退出redis.conf?

我将按照本教程https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-redis-on-ubuntu-16-04在digtalocean上的Ubuntu 16.04上安装和配置Redis。
3回复

redis.conf中的“tcp-backlog”是什么

我对redis.conf中的tcp-backlog感到困惑: tcp-backlog的大小是“完整连接队列”(三次握手完成, 这里描述的是什么)还是“不完整的连接队列”? 如果它意味着“完整的连接队列”那么我为什么要提出tcp_max_syn_backlog来限制一个不完整的连接队