如何在没有扫地机的情况下使页面缓存失效

时间:2010-06-26 20:22:51

标签: ruby-on-rails

我在rails根目录下的公共目录中页面缓存产品列表 - products.json。 我不通过控制器操作添加或删除此数据。此数据将加载到数据库中 通过数据迁移脚本。在开发环境中,我从公共中删除此文件 目录并重新启动mongrel服务器,但它仍在提取缓存的数据。不确定从哪里来。如何使此缓存数据到期。

非常感谢, 灰

2 个答案:

答案 0 :(得分:0)

你试过吗?

  

rake cache:clear

答案 1 :(得分:0)

您必须弄清楚数据的缓存位置。您确定,从/ public删除缓存版本后,您在网站上看到的数据实际上是从缓存中删除的吗?因为如果基础数据没有改变,那么它当然会在重新请求时重新缓存它(这就是页面缓存的工作方式,如果缓存不存在则重新生成它)。

另外,请注意,缓存有不同的数据存储:磁盘,内存和更复杂的解决方案(如Memcached)。如果您发现开发和生产之间存在差异,则可能是您在不同环境中的不同位置进行缓存。

如果您想要一些真正将磁盘上的缓存文件废弃的内容,您可能需要尝试http://github.com/factore/cache_trasher