1

我知道dalli(缓存)对于提高静态站点的性能非常有用。
但是经常更新的动态站点呢?
正确的设置方法是什么dalli

例如,我遇到的一个问题:dalli使用分页时将不同的 params[:page] 识别为同一页面:(

dalli两者都使用时,你们将如何设计系统

  • 经常更新的页面
  • 不会经常更新的页面

我现在的代码就是这样。这就是为什么我在使用缓存时面临分页问题......

控制器

caches_page :index, :show

配置/环境/development.rb

config.consider_all_requests_local       = true
config.action_controller.perform_caching = true
config.cache_store = :dalli_store
4

1 回答 1

3

我遇到了同样的问题,并决定视图中的片段缓存是一个更好的选择。

片段的缓存键基于模型,并且每次更新模型时都会更改。

这是我在haml中的一个观点的摘录。

 - @content_pages.each do |content_page|
          - cache(content_page.get_cache_key('home_page_content_page')) do
            ...Render ContentPage model

它基于此处 37Signals 推荐的方法 How-based cache expiration works

我在我的网站上完整地写了这个方法

Rails 缓存策略使用基于键的方法

希望这可以帮助

于 2013-01-26T18:35:42.187 回答