Redis具有以下设置:
“ config get maxmemory ”
1) "maxmemory"
2) "2147483648"
(即2G)
但是当我做“信息”
时used_memory:6264349904
used_memory_human:5.83G
used_memory_rss:6864515072
显然它忽略了所有设置......为什么?
P.S。
“ config get maxmemory-policy ”显示:
1) "maxmemory-policy"
2) "volatile-ttl"
和:“ config get maxmemory-samples ”显示:
1) "maxmemory-samples"
2) "3"
什么意思,他们应该使用最近的到期日期到期密钥......
答案 0 :(得分:2)
您的所有按键都有过期设置吗? volatile-ttl只会删除设置了过期的密钥。这应该在你的信息输出中。
如果您没有设置到期时间,请尝试使用allkeys-lru或allkeys-random作为您的保单。
答案 1 :(得分:0)
您还可以使用配置文件中的“maxmemory”选项来限制Redis可以使用的内存。如果达到此限制,Redis将开始回复错误以写入命令(但将继续接受只读命令)。