2011-09-28 65 views
5

Redis的具有以下设置:Redis的忽略maxmemory设置

配置得到maxmemory

1) "maxmemory" 
2) "2147483648" 

(即2G)

但是当我做 “信息

used_memory:6264349904 
used_memory_human:5.83G 
used_memory_rss:6864515072 

显然,它忽略了所有的设置...为什么?

P.S.

配置得到maxmemory政策” 显示:

1) "maxmemory-policy" 
2) "volatile-ttl" 

和: “配置得到maxmemory样本” 显示:

1) "maxmemory-samples" 
2) "3" 

什么手段,他们本应到期键与最近的失效日期...

回答

0

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

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

+0

据:配置得到maxmemory策略 1) “maxmemory政策” 2) “挥发性-TTL” 和:配置GET maxmemory样本 1) “maxmemory样本” 2) “3” 他们应该过期的密钥与最近的失效日期... – alexeypro

2

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

如果您没有过期ttls set,请为您的保单尝试allkeys-lru或allkeys-random。