我正在 Rails 项目中使用缓存,并且希望使特定 url 的缓存过期。我收到以下命令来使与传递的 URL 相对应的片段过期:
ActionController::Base.new.expire_fragment("localhost:3000/users/55-testing-devise/boards/")
我很困惑应该将此代码放在 Rails 项目中的何处,以便在添加文本字段中的 url 并单击过期按钮后立即执行它。
您可能应该考虑采用不同的方法。模型不应该关心缓存如何工作,传统上整个清理方法往往会变得复杂、笨重并且与代码的其余部分不同步。
基本上,您永远不必手动使片段过期。相反,您可以在模型更新后更改缓存键/url(以便为新版本提供新的缓存条目)。
现在的普遍智慧是使用俄罗斯娃娃缓存 https://37signals.com/svn/posts/3113-how-key-based-cache-expiration-works%20Russian%20Doll%20Caching方法。该链接指向一篇解释基础知识以及即将发布的文章Rails 4 将包含更好的支持 http://blog.remarkablelabs.com/2012/12/russian-doll-caching-cache-digests-rails-4-countdown-to-2013.
这可能是大多数标准 Rails 应用程序的最佳方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)