Joomla 有多種緩存“內容”的方式。我們將以兩個角色來介紹和使用緩存,在這篇將以普通管理員的視角來概述——緩存什么、在哪里緩存以及何時緩存。
什么是Joomla 緩存cacha
作為管理員,Joomla 為您提供了緩存網站內容的能力。您可以選擇緩存整個網頁或僅緩存這些頁面的部分內容。在 Joomla 網站頁面上,有3種內容可能被緩存:
-
頁面緩存 –?緩存整個頁面緩存
-
模塊緩存 (Module cache) -?僅僅緩存頁面上顯示的模塊的輸出。可以指定僅僅緩存某一個模塊的緩存。如果不清楚什么是模塊可以訪問Joomla的模板機制?了解詳情
-
視圖緩存 (View cache) -僅僅緩存網頁上組件的輸出。如果不清楚什么是組件輸出可以訪問Joomla的模板機制?了解詳情
作為管理員,你可以依據自己的需要在后臺設置啟用對應的緩存。
頁面緩存可以緩存整個頁面,這個功能是通過插件來實現的。默認情況下這個插件是禁用的。如果你需要啟用,你可以前往插件管理=>系統插件=>緩存(cache)設置啟用即可。
模塊緩存可以緩存模塊的輸出。這個功能是內置的功能,默認緩存時關閉的。如果你需要啟用,需要執行下面的操作
登陸后,在全局設置 (Global Configuration) 中的 系統 (System) 選項卡下的 緩存設置 (Cache Settings)。
這里的?系統緩存 (System Cache)?選項可以設置為:
-
OFF – Caching disabled?(關閉 – 禁用緩存)
-
ON – Conservative caching?(開啟 – 保守緩存)
-
ON – Progressive caching?(開啟 – 漸進緩存)
?
許多模塊在其選項的 高級 (Advanced) 選項卡中可以將 緩存 (Caching) 設置為 使用全局設置 (Use global) 或 不緩存 (No caching)
請注意:在全局設置頁面設置的緩存對所有的模塊都有效,在模塊編輯頁面設置的緩存只對模塊自己有效。且優先級高于全局設置的優先級。另外,當開啟了頁面緩存后,默認情況下模塊緩存將自動失效。視圖緩存是一類特殊的緩存,這個是給開發者使用,普通的管理員無法設置這個緩存。在后面我們在來討論這一部分。
緩存的管理
您可以通過 管理員后臺 (Administrator) → 系統 (System) → 清除緩存 (Clear Cache) 菜單選項來清除緩存。
緩存的強度
通常,您可以將 Joomla 的緩存視為 3 個級別,逐級增強:
-
保守緩存 (Conservative caching)
-
漸進緩存 (Progressive caching)
-
頁面緩存 (Page caching)
頁面緩存 (Page Caching)頁面緩存是最激進的緩存形式
它會緩存整個頁面輸出,包括所有組件和模塊的輸出。這可以顯著減少服務器負載并加快頁面加載速度,尤其是在高流量網站上。要啟用頁面緩存:轉到 管理員后臺 (Administrator) → 擴展 (Extensions) → 插件 (Plugins)。找到 System – Page Cache (系統 - 頁面緩存) 插件并啟用它。這意味著現在網站頁面將被緩存,當再次請求這些頁面時,將提供緩存的頁面,而不是由 Joomla 根據數據庫中的信息重新生成。緩存的頁面將繼續提供服務,直到其過期——由 管理員后臺 (Administrator) → 全局設置 (Global Configuration) → 系統 (System) 選項卡 → 緩存設置 (Cache Settings) 中的 緩存時間 (Cache Time) 參數定義。
如果您的網站具有購物籃之類的功能,應用頁面緩存會導致問題,因為頁面必須顯示客戶已選擇的內容,而不是顯示對所有人都相同的緩存頁面。但是,您可以配置 System - Page Cache (系統 - 頁面緩存) 插件以排除緩存指定的 菜單項 (Menu Items) 或指定的 URL 和 URL 范圍 (URLs and URL ranges)(在 高級 (Advanced) 選項卡中),以便僅緩存真正靜態的頁面。
保守緩存 (Conservative Caching)?使用保守緩存,您可以緩存組件的視圖輸出以及允許緩存的模塊的輸出
但請注意,這僅適用于未使用頁面緩存緩存的頁面。對于那些頁面,整個網頁已被緩存,因此甚至不會考慮保守緩存。要開啟保守緩存:轉到 管理員后臺 (Administrator) → 系統 (System) → 全局設置 (Global Configuration) → 系統 (System) 選項卡,在 緩存設置 (Cache Settings) 中,將 系統緩存 (System Cache) 設置為?ON – Conservative caching?(開啟 – 保守緩存)。轉到 管理員后臺 (Administrator) → 擴展 (Extensions) → 模塊 (Modules),選擇您希望被緩存的模塊。如果該模塊允許緩存,那么在 高級 (Advanced) 選項卡下,您應該能夠將 緩存 (Caching)?設置為:Use Global?(使用全局設置) – 該模塊將被緩存(因為全局選項現在已設置為保守緩存)No caching?(不緩存) – 該模塊將不被緩存。(注意:全局設置中的 緩存時間 (Cache Time) 是以分鐘為單位,而模塊設置中的緩存時間是以秒為單位。)
漸進緩存 (Progressive Caching)?與保守緩存一樣,漸進緩存也會緩存組件視圖和模塊的輸出。
兩者在功能上的區別在于,對于未登陸用戶,漸進緩存總是會緩存所有模塊。在這種情況下,為模塊設置“不緩存 (No Caching)”選項無效。如果緩存存儲選項是?File?(文件),您可以在?cache/com_modules?目錄中找到模塊緩存文件(所有模塊的輸出都存儲在同一文件中)。要開啟漸進緩存:轉到 管理員后臺 (Administrator) → 系統 (System) → 全局設置 (Global Configuration) → 系統 (System)選項卡。在 緩存設置 (Cache Settings) 中,將 系統緩存 (System Cache) 設置為?ON – Progressive caching?(開啟 – 漸進緩存)。
更多關于joomla的使用請訪問?https://www.joomlachina.cn