Apache 重启是否可靠地清除 PageSpeed 缓存?

3
我正在开发一个网站,其中包含频繁的JavaScript更新,最近开始使用mod_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个回答

4

3

不重新启动Apache服务器无法清除pagespeed缓存。您必须手动使用cache.flush来清除缓存。


谢谢 - 你能再解释一下吗?我刚才重启后得到了更新的代码,这是我运气好吗?请参见上面的更新。 - Ennael
基本上,PageSpeed 生成了两种类型的缓存。当您重新启动 Apache 时,内存缓存必须已被清除。而文件缓存需要手动清除。重新启动 Apache 不会清除文件缓存,这可能会导致问题,如果显示旧数据,则可能会对任何重大更改造成影响。 - Aazim Parkar

1
我会帮助您进行翻译,以下是需要翻译的内容:

我喜欢做的事情是确保服务器上整个Web部分的缓存。

Apache2,这是一次模拟运行,如果您确定要继续,请删除“-D”-l是内存大小,-p是路径:

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

mod_pagespeed:

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

-4
重新启动Apache应该可以清除缓存。

1
谢谢 - 你能指向一份文档/代码/其他信息,我可以提供作为确认吗? - Ennael

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接