CI-緩存頁面 開啓緩存加速網站運行

緩存網頁

到如今爲止,咱們正在寫一些至關複雜的代碼。 服務器必須停下來分析每一個動態生成的網頁。你能夠很簡單地編寫一個函數象上面的dotable(),可是,可憐的老服務器不得不作更多的工做來生成結果。

有時候,這能致使你的頁面顯示起來比較慢。 對這點可能沒有什麼好辦法。若是你正在寫報告,每次寫得都不同,你只能等待。 然而,你可能生成將會保持一段時間內容不變的網頁。好比說一篇博客,在你提交下一篇以前,你沒有什麼變化,若是有一千個讀者來看你的博客,每一個視圖都是同樣的,而你卻須要浪費時間去動態生成一樣的頁面,一次又一次。

解決之道是緩存網頁。你一次生成網頁,而後把生成的HTML文件保存在緩存目錄中,加上一個時間戳,而後被顯示到用戶的瀏覽器上。而後,當一下個讀者請求 頁面時,系統檢查離上次生成和保存有多長的間隔,若是還在你設定的時間範圍內,它繼續返回緩存頁面,若是不是,它將更新頁面。

聽起來這裏像須要一些複雜的編程工做,其實若是你使用CI,你只須要作二件事情:

找到你網站中的/system/cache目錄,它應該是空的, 除了一個index.html文件。 肯定此目錄是可讀寫的-也就是若是在Linux系統上,權限設爲666。

插入, 在一個產生 HTML 頁的控制器的函數中加上:

$this->output->cache(5);

5是你想要你的緩存持續的分鐘數,即在頁面被從新生成前會持續多長時間使用靜態HTML文件。

搞定。 若是你如今裝載函數,你將會像往常同樣見到頁面被裝載。 若是你如今觀察你的 /system/cache目錄,固然,你將會在那裏裏面見到一個新的文件,有一個無心義的名稱。 

把它在一個文本編輯器裏打開,你將會見到它包含 HTML 代碼, 加上一個時間戳。若是你請求相同的頁,在五分鐘以內,你將會獲得被緩存的頁面。超過這個時間段,你的下一次請求將會自動地刪除它並且用一個較新的版本替代它。

若是你不想緩衝頁面, 從你的控制器中刪除this->output->cache(5)這一行,你的頁面將每次刷新。 (最後一個被保存的文件將會留在你的 /system/cache目錄,直到你手工刪除它。) 若是你想要繼續緩衝, 可是偶然地刪除一個緩存文件, 沒關係張; 當那一頁下一次被調用時,系統將會產生新的。

CI讓這一切變得快和簡單,它正在試着緩存每一頁!只是要記住這一點:要緩存內容不頻繁改變的頁面,其它狀況就不要使用緩存功能。html

相關文章
相關標籤/搜索