apache是​​否可以重新启动可靠地清除pagespeed缓存?

时间:2013-05-13 16:21:59

标签: apache apache2 pagespeed mod-pagespeed

我目前正在开发一个网站,它正在获得相当频繁的javascript更新,并且刚开始使用mod_pagespeed以确保客户始终拥有最新的代码。

文档告诉我这样做会清除我的pagespeed缓存并强制客户端获取我的新javascript / css:

sudo touch /var/cache/pagespeed/cache.flush

我通过更改一些javascript代码进行了测试,在我的浏览器上点击刷新以验证我仍然看到旧代码(我的缓存过期设置为一天),然后重新启动apache,我确实可以看到我的新变化。

我是否可以相信重新启动总是足够的,并且不需要cache.flush,或者我是否还需要运行flush命令?我正在读取需要重新启动apache来清除内存缓存,而不是文件缓存和/或cache.flush如何适应它。

更新

我提取了pagespeed代码,如果我理解正确,cache.flush进程会更新时间戳。

这似乎发生在RewriteOptions::UpdateCacheInvalidationTimestampMs这里: http://modpagespeed.googlecode.com/svn/trunk/src/net/instaweb/rewriter/rewrite_options.cc

如果我能确定哪个时间戳正在更新,似乎我可以检查它/重新启动apache /再次检查它(以查看时间戳是否已更改)或从文件名/位置/谁拥有它推断是否是是否可能发生。

对此更多的想法?关于如何确定哪个时间戳正在更新的建议?其他推理让我对每次更新时手动执行额外刷新命令感觉更好(当我因为其他原因已经重新启动apache时)或者将其删除?

4 个答案:

答案 0 :(得分:4)

触摸cache.flush文件:

sudo touch /var/cache/mod_pagespeed/cache.flush

参考:https://developers.google.com/speed/pagespeed/module/system#flush_cache

答案 1 :(得分:3)

不重启Apache不会清除pagespeed缓存。您必须使用cache.flush手动执行此操作。

答案 2 :(得分:0)

我想做的是确保整个服务器的整个Web部分上的整个缓存

Apache2,这是一次试运行,如果确定要使用它,则删除“ -D” -l表示内存大小-p表示路径:

htcacheclean -D -p/var/cache/apache2 -l100M

mod_pagespeed:

sudo touch /var/cache/mod_pagespeed/cache.flush

答案 3 :(得分:-2)

重启Apache应该刷新缓存。