2012-07-17 117 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

相關問題