Redis忽略了maxmemory设置

时间:2011-09-28 19:56:28

标签: memory redis

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" 

什么意思,他们应该使用最近的到期日期到期密钥......

2 个答案:

答案 0 :(得分:2)

您的所有按键都有过期设置吗? volatile-ttl只会删除设置了过期的密钥。这应该在你的信息输出中。

如果您没有设置到期时间,请尝试使用allkeys-lru或allkeys-random作为您的保单。

答案 1 :(得分:0)

根据http://redis.io/topics/faq

  

您还可以使用配置文件中的“maxmemory”选项来限制Redis可以使用的内存。如果达到此限制,Redis将开始回复错误以写入命令(但将继续接受只读命令)。