我正在尝试在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 gem (https://github.com/redis/redis-rb)中的redis-rb并对其进行了grepped,但没有任何反应。因此,它似乎尚未实现。

最佳答案

如果您将缓存存储设置为使用redis-rb,并且尚未实现maxmemory,那么我看不出它为什么起作用。

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

关于ruby-on-rails - Rails Redis设置maxmemory和maxmemory-policy,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17537795/

10-10 16:52