3

我正在尝试在我的 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我没有得到任何关于memoryor的方法max

我在网上没有看到 Rails 的任何示例,最接近的是在使用 rails 缓存时使用 rails 处理 redis maxmemory 情况,但它没有给出任何示例。

我还在gem ( https://github.com/redis/redis-rbmaxmemory )中克隆和 grep ,但没有出现任何结果。因此,它似乎尚未实施。redis-rb

4

2 回答 2

3

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

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

于 2013-07-09T20:55:59.873 回答
0

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

于 2016-01-27T04:43:31.093 回答