我目前正在开发一个 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 时)还是不这样做?
最佳答案
触摸 cache.flush
文件:
sudo touch /var/cache/mod_pagespeed/cache.flush
引用:https://developers.google.com/speed/pagespeed/module/system#flush_cache
关于apache - apache 重启是否可靠地清除 pagespeed 缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16526761/