Memcached 错过了 Rails 上使用 Dalli gem 的每次获取

发布于 2024-10-09 00:04:52 字数 752 浏览 2 评论 0原文

所以我有这个基本操作,它通过 ajax 调用访问,并获取最受欢迎的帖子,将它们存储在缓存中,然后显示在用户视图中:

def trending
  @trends = Rails.cache.fetch('trends', :expires_in=>1.hour) { Post.trends.all }
  respond_to do |format|
    format.js {render :layout=>false}
  end
end

config/development.rb

  config.cache_classes = false

  # Log error messages when you accidentally call methods on nil.
  config.whiny_nils = true

  # Show full error reports and enable caching
  config.consider_all_requests_local       = true
  config.action_view.debug_rjs             = true
  config.action_controller.perform_caching = true
  config.cache_store = :dalli_store

现在的问题是我的情况是,每次获取缓存都会丢失。有什么想法可能是错的吗?

谢谢!

So I have this basic action, which is accessed by ajax call, and fetches the most popular post, stores them in the cache and then displays in the users view:

def trending
  @trends = Rails.cache.fetch('trends', :expires_in=>1.hour) { Post.trends.all }
  respond_to do |format|
    format.js {render :layout=>false}
  end
end

config/development.rb

  config.cache_classes = false

  # Log error messages when you accidentally call methods on nil.
  config.whiny_nils = true

  # Show full error reports and enable caching
  config.consider_all_requests_local       = true
  config.action_view.debug_rjs             = true
  config.action_controller.perform_caching = true
  config.cache_store = :dalli_store

Now the problem that I have is that on every fetch cache is missed. Any ideas what might be wrong?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

So尛奶瓶 2024-10-16 00:04:52

将以下变量更改为 true
config.cache_classes = true

change the following variable to true
config.cache_classes = true

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文