缓存片段永不过期

时间:2016-07-12 13:44:36

标签: ruby-on-rails

我有一个用于管理公共事件的rails应用程序。在一个视图中,我试图缓存一个每8小时到期的片段。片段缓存成功但永不过期。今天查看该网站,该片段显示了6月23日的事件,这是我最后一次手动刷新片段缓存。

我目前正在使用以下代码段来呈现事件标题和日期列表:

- cache('sidebar-cache', :expires_in => 8.hour) do
    = render "shared/sidebar_festivals"

我也尝试了以下(24小时而不是8小时)同样的问题:

- cache "sidebar_cache", expires: 1.day.from_now(Time.now.beginning_of_day)
    = render "shared/sidebar_festivals"

我在production.rb配置文件中启用了缓存:

config.action_controller.perform_caching = true

我需要启用或执行片段缓存过期的其他内容吗?

我正在使用Rails 4.2.1

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我遇到的问题与时区有关。服务器上的时区设置为东部标准时间,而服务器实际上位于伦敦。 rails应用程序使用UTC。不匹配足以导致这个问题。

要在Ubuntu服务器上设置时间,就像我在这里使用一样,以root身份运行此命令并按照提示进行操作

dpkg-reconfigure tzdata