0

我在 Rails 上有一个带有“博客”风格帖子的登录页面。因为它是网站上访问量最大的页面,所以我使用了动作缓存。更改模型时会清除缓存。

但是,当添加新的博客帖子时,我希望能够在 --future-- 中创建帖子(在 Tumblr 中排队帖子)。

因此,简单地观察模型将不再适用于清除缓存。

除了定期(每半小时)运行作业之外,还有什么更好的方法可以正确清除缓存?

4

1 回答 1

0

您可以使用过期缓存。如果您的缓存后端是 Memcached,则默认支持此功能。否则,您需要创建一个缓存键,其中包含一个在定义的时间量后使缓存过期的值。

或者你也可以按照其他方式。您可以运行 cron 并更新状态数据库字段,而不是发布 publised_at < Time.now 的记录(我假设您当前的行为属于这种情况)。这样,更新将触发您的清扫器并清除缓存。

第一个解决方案实际上是最好的解决方案。

于 2009-06-26T17:09:13.783 回答