2012-07-17 116 views
2

我有兴趣了解两两件事:mod_pagespeed - 如何设置过期和缓存更新时间?

T.1)的mod_pagespeed安装了每个文件的Expires头值除HTML,XML ......,documents.So我怎样才能改变这个时候每个文件和文件夹?这个模块可以做到吗?

我希望例子不需要第一个任务。

T.2)mod_pagespeed更改每个缓存的文件后3-4分钟它被改变。 因此,如果我更改文件的内容,则在3-4分钟后刷新后更新。 如何通过此模块控制此时间?

示例的第二个问题:

我已保存的JPEG图像称为test.jpg放在,刷新在浏览器这样的:

本地主机/图像/ test.jpg放在

然后我改变这文件与图像编辑器并重新保存它。 现在这个文件已经保存在浏览器的缓存中,并且在3-4分钟后会在浏览器中呈现。 所以我想为每个文件和文件夹控制这个时间。

P.S:伙计们,我真的需要你帮忙!整个星期都在努力解决这个问题。

回答

2

一点背景:扩展的mod_pagespeed资源的缓存生存,并增加了一个独特的散列码的资源名称,以提高用户的缓存能力,从而加快页面加载返回用户。

正如您已经指出的那样,有两种不同的缓存生存期对mod_pagespeed很重要。

(T.1)是缓存生存期mod_pagespeed集。它目前设置为1年,我不认为它是可定制的。但是,由于我们将唯一的哈希码添加到URL中,所以在大多数情况下,您不需要对其进行自定义。只要mod_pagespeed意识到资源已经改变,它就会在HTML文件中放入一个不同的URL,从而更新用户缓存。 (T.2)是资源的原始缓存生存期(默认为5分钟)。 mod_pagespeed会在文件到期时重新加载文件,因此你会看到3-4分钟的延迟。有几种不同的方式可以改善这一点。最好的是,如果文件完全是静态的,则可以使用ModPagespeedLoadFromFile。当您使用该指令时,mod_pagespeed将在每次重写HTML时检查文件,这意味着资源将立即更新。 如果你不能使用LoadFromFile,你可以显式地为Apache中的资源设置更短的缓存生存期。例如:

<Directory ".../foo/"> 
    ExpiresByType image/gif "modification plus 3 minutes" 
    ExpiresByType text/css "modification plus 1 minute" 
</Directory> 
<Directory ".../bar/"> 
    ExpiresByType text/css "modification plus 5 minutes" 
</Directory> 

但请注意,如果您缩短这个时间,你会做的mod_pagespeed请求的资源更频繁(每隔1分钟在上述富/目录下的CSS文件),并可以把你的服务器造成负担不必要的。另一种解决方案是在开发期间clear mod_pagespeed cache。这可以让你开发时迅速更新服务器,而不是让你的服务器负担不必要的时间休息。

+1

我用谷歌和我在那里看到的是,资源只缓存10分钟,这就是PageSpeed Insights工具。谷歌公司说,这不是一个令人满意的时间......这不是1年。那是我所遇到的困惑。 – 2015-03-05 04:16:08

相关问题