2011-09-30 21 views
3

是否可以使用Redis仅将某些密钥保存到磁盘?目前来说,最好的解决方案是运行单独的Redis服务器,其中一台服务器可以丢弃缓存,另一台服务器则有更重要的数据(我们需要定期刷新到磁盘)(例如访问网页的计数器)将只有一部分Redis密钥保存到磁盘的最佳方法

回答

2

您可以在您的密钥的子集上设置到期日。他们将坚持到磁盘,但只有到他们到期。这对您的使用情况可能已足够。

然后,您可以使用redis maxmemorymaxmemory-policy配置选项来限制内存使用情况,并告诉redis在达到最大内存时该做什么。如果使用volatile-lruvolatile-ttl选项,则Redis将只丢弃那些在内存不足时有效到期的密钥,分别丢弃“最近最少使用”或最近过期(生存时间)的密钥。

但是,如上所述,这些值仍然存在磁盘,直到到期。如果你真的需要避免这种情况,那么你的假设是正确的,另一台服务器看起来是唯一的选择。