我有一个用于管理公共事件的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
非常感谢任何帮助。
答案 0 :(得分:0)
我遇到的问题与时区有关。服务器上的时区设置为东部标准时间,而服务器实际上位于伦敦。 rails应用程序使用UTC。不匹配足以导致这个问题。
要在Ubuntu服务器上设置时间,就像我在这里使用一样,以root身份运行此命令并按照提示进行操作
dpkg-reconfigure tzdata