当前位置: 首页 > 面试题库 >

Rails Redis设置maxmemory和maxmemory-policy

颛孙晗昱
2023-03-14
问题内容

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

我在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的网络上看到任何示例,最近的事情是在使用rails缓存时使用rails处理redis
maxmemory情况,但是没有给出任何示例。

我还克隆并grepped用于maxmemory在该redis-rb宝石(https://github.com/redis/redis-
rb
),但没有出现。因此,它似乎尚未实现。


问题答案:

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

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



 类似资料:
  • 问题内容: 使用redis时,出现错误: info命令显示: 用内存高吗?我是一个完整的Redis新手。如果是这样,怎么会出现此问题,我应该从这里继续进行吗?同一错误都在生产环境中出现(Heroku),因此,我们非常感谢您的帮助。谢谢。 问题答案: 达到最大内存限制时,将返回此消息。您可以使用以下命令检查当前限制: 结果以字节为单位。 请注意,一个空的Redis实例使用大约710KB的内存(在Li

  • 问题内容: 我的Redis服务器设置为。文档指出,这将在达到内存限制时从具有过期设置的条目集中退出。 在这种情况下,redis是否仅将过期的项目逐出?如果内存中的所有内容都设置了过期时间,但是没有超过过期时间,那么达到最大内存时,是否会清除任何内容? 问题答案: 如果将驱逐策略设置为任何策略,则在内存不足且没有易失键退出时,Redis将返回OOM错误。

  • 问题内容: 尝试设置密钥时出现“不允许OOM命令”, 通过“ volatile-lru” 设置为500M ,我为发送给redis的每个密钥设置TTL。 命令返回: 如果maxmemory设置为500M,我怎么达到809M? 命令没有显示任何键空间,这怎么可能? 返回“(空列表或集合)”,我试图更改数据库号,但仍未找到键。 这是info命令输出: 问题答案: 您是否有可能更改了数据库数量?如果您使用

  • 问题内容: 我是Jenkins CI的新手。我在远程Jenkins中以及在shell下执行时安装RVM。 我收到以下错误。 这是什么意思?我不知道 请帮我。 更新: 我尝试下面的脚本,但仍然出现错误: 错误: Jenkins构建外壳无法检测RVM,gemset和gem。我该怎么办? 更新2: 因此詹金斯无法检测到红宝石。 我没有使用任何jenkins插件,而只是从Build-> Execute s

  • 问题内容: 我有一个存储过程[A],它创建了另一个存储过程[B] [A]永远不会由最终用户运行,并且没有参数或其他不受信任的数据。取而代之的是,它仅由我用来自动执行复杂SP [B]的创建。[A]除非内部结构发生更改,否则总会有相同的结果。因此,我认为这是安全的。 [B]由于使用xml,因此要求Quoted_Identifiers处于启用状态。 如果我复制并粘贴生成的SP,它可以正常工作,但是如果我

  • Android SDK 要求 Min Sdk Version - 使用 Glide 需要 min SDK 版本 API 14 (Ice Cream Sandwich) 或更高。 Compile Sdk Version - Glide 必须使用 API 27 (Oreo MR1) 或更高版本的 SDK 来编译。 Support Library Version - Glide 使用的支持库版本为 27