我有一个rails博客应用程序,一直运行得很好。然而,我进行了一些缓存实验,尽管已经恢复到以前的版本,但仍然存在问题。
似乎所有页面都被缓存了或类似于此的东西(我已经清除了浏览器缓存),因为服务器日志没有显示任何对数据库的获取。
有关如何解决这个问题的任何线索吗?谢谢!
我有一个rails博客应用程序,一直运行得很好。然而,我进行了一些缓存实验,尽管已经恢复到以前的版本,但仍然存在问题。
似乎所有页面都被缓存了或类似于此的东西(我已经清除了浏览器缓存),因为服务器日志没有显示任何对数据库的获取。
有关如何解决这个问题的任何线索吗?谢谢!
代码示例:
class ProductsController
caches_page :index
def index
@products = Product.all
end
end
这实际上在您的 /public 目录中创建了一个名为 products.html 的文件,因此即使不访问 Rails 栈,该文件也会被呈现。清除浏览器缓存无法解决问题,因为该文件存储在服务器上。有两种方法可以使缓存过期。
第一种方法是创建一个动作来清除缓存,然后在需要清除缓存时调用该动作:
class ProductsController
def clear
expire_page :action => :index
end
end
rm public/products.html
页面缓存很令人困惑,因为很难确定页面何时被缓存以及缓存在哪里。
P.S:如果您没有使用页面缓存,则可以使用以下命令清除整个memcached缓存或内存缓存:
Rails.cache.clear