ruby-on-rails - 需要 LRU 缓存时,Memcached 与 Redis 作为 Rails.cache

标签 ruby-on-rails ruby caching redis memcached

我目前使用 Redis 作为 Sidekiq 的工作队列。我也有兴趣将它用作 Rails.cache 的缓存机制。

推荐的 Rails 缓存机制永远不会使项目过期,并且依赖于逐出最近最少使用 (LRU) 的项目。不幸的是,默认情况下,Redis 未配置为逐出最近最少使用的项目,而推荐的缓存存储 memcached 是。

此外,驱逐项目不是我希望我的工作队列的行为,并且配置相同的 Redis 实例来执行此操作可能会导致不良结果。无论如何,我也不希望我的队列与我的缓存共享周期。

在这种情况下你们会推荐什么?第二个 redis 存储充当缓存并配置了 LRU?还是直接用rails推荐的memcached cache store,只用redis单独做队列?

我倾向于同时使用 Redis 和 Memcached,尽管有很多堆栈溢出文章建议不这样做。默认情况下支持 LRU 驱逐的 memcached 赢得了我的青睐。

一些文章:

隐藏在评论的更深处,发帖人提到 memcached 的 LRU 逐出是将其用作缓存的重要理由。

最佳答案

最终同时使用了 redis 和 memcached。对结果非常满意。

关于ruby-on-rails - 需要 LRU 缓存时,Memcached 与 Redis 作为 Rails.cache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27043417/

相关文章:

ruby-on-rails - 即使照片确实上传,Carrierwave 也会返回 406 Not Acceptable

jquery - Rails 4. jQuery、Acts_as_list、嵌套模型、更新 Controller 中的位置

ruby-on-rails - Nginx + Phusion 乘客 try_files

ruby-on-rails - 设计 - Bootstrap - RoR:设计中的链轮::Rails::Helper::AssetNotFound::Sessions#new

ruby-on-rails - Rails redirect_to 选择页面

ruby-on-rails - 在 Rails/Apache 中自动托管用户域

ruby-on-rails - config.authentication_keys 和 config.request_keys 在设计上的区别

javascript - 缓存动态加载的图像

multithreading - 共享缓存如何在SQLite中工作?

caching - 如何设置 Meteor 不缓存特定页面的任何内容?