3

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

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

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

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

我是否可以相信重新启动总是足够的,并且cache.flush不需要 a,还是我也需要运行 flush 命令?我正在阅读需要重新启动 apache 才能清除内存缓存,而不是文件缓存和/或 cache.flush 如何与之匹配。

更新:

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

看起来这里正在发生这种情况:http RewriteOptions::UpdateCacheInvalidationTimestampMs: //modpagespeed.googlecode.com/svn/trunk/src/net/instaweb/rewriter/rewrite_options.cc

如果我能弄清楚这是在更新哪个时间戳,似乎我可以检查它/重新启动 apache/再次检查它(以查看时间戳是否已更改)或从文件名/位置/以某种方式拥有它的人推断出这是否是可能发生。

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

4

4 回答 4

4

触摸cache.flush文件:

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

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

于 2015-01-06T17:08:51.287 回答
3

不重新启动 Apache 不会清除 pagespeed 缓存。您必须使用 cache.flush 手动完成。

于 2013-05-15T05:33:11.457 回答
1

What I like to do to ensure that the whole cache on the entire web portion of the server

Apache2, this is a dry run, remove "-D" if you are sure you want to go through with it -l is for size of memory -p for path:

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

mod_pagespeed:

sudo touch /var/cache/mod_pagespeed/cache.flush
于 2019-04-07T14:14:37.820 回答
-3

重新启动 Apache 应该刷新缓存。

于 2013-05-13T16:28:25.747 回答