我正在尝试在Rails应用程序的cache_store配置中设置maxmemory
和maxmemory-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
时,我没有任何关于memory
或max
的方法。我没有在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/