我正在尝试在我的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
宝石(https://github.com/redis/redis-rb)中克隆并抓取了redis-rb
,但没有任何结果。所以它似乎还没有实现。
答案 0 :(得分:2)
如果你将缓存存储设置为使用redis-rb,并且它没有实现maxmemory,我不明白它为什么会工作。
特别是,你似乎在redis服务器的配置中配置了redis的maxmemory,所以我认为你不能通过连接客户端(即redis-rb)来实现。
答案 1 :(得分:0)
我相信您必须在redis.conf(或您的AWS配置)中设置它http://redis.io/topics/lru-cache