Rails Redis设置maxmemory和maxmemory-policy

时间:2013-07-08 23:49:44

标签: ruby-on-rails ruby caching redis

我正在尝试在我的Rails应用的cache_store配置中设置maxmemorymaxmemory-policy

我在production.rb文件中执行了以下操作:

  redis_url = "redis://localhost:6379/0"
  config.cache_store = :redis_store, redis_url, { :expires_in => 4.weeks ,
                                                  :namespace => 'rails-cache',
                                                  :maxmemory => '25gb',
                                                  'maxmemory-policy' => 'volatile-ttl'}

但是maxmemory没有缝合工作。当我执行Rails.cache.methods时,我没有获得有关memorymax的任何方法。

我没有在网上看到Rails的任何示例,最接近的是handling redis maxmemory situations with rails when using rails caching,但它没有提供任何示例。

我还在maxmemory宝石(https://github.com/redis/redis-rb)中克隆并抓取了redis-rb,但没有任何结果。所以它似乎还没有实现。

2 个答案:

答案 0 :(得分:2)

如果你将缓存存储设置为使用redis-rb,并且它没有实现maxmemory,我不明白它为什么会工作。

特别是,你似乎在redis服务器的配置中配置了redis的maxmemory,所以我认为你不能通过连接客户端(即redis-rb)来实现。

答案 1 :(得分:0)

我相信您必须在redis.conf(或您的AWS配置)中设置它http://redis.io/topics/lru-cache