CodeIgniter 網(wǎng)頁(yè)緩存

2018-07-21 15:38 更新

網(wǎng)頁(yè)緩存

CodeIgniter 可以讓你通過緩存頁(yè)面來(lái)達(dá)到更好的性能。

盡管 CodeIgniter 已經(jīng)相當(dāng)高效了,但是網(wǎng)頁(yè)中的動(dòng)態(tài)內(nèi)容、主機(jī)的內(nèi)存 CPU 和數(shù)據(jù)庫(kù)讀取速度等因素直接影響了網(wǎng)頁(yè)的加載速度。 依靠網(wǎng)頁(yè)緩存, 你的網(wǎng)頁(yè)可以達(dá)到近乎靜態(tài)網(wǎng)頁(yè)的加載速度,因?yàn)槌绦虻妮敵鼋Y(jié)果 已經(jīng)保存下來(lái)了。

緩存是如何工作的?

可以針對(duì)到每個(gè)獨(dú)立的頁(yè)面進(jìn)行緩存,并且你可以設(shè)置每個(gè)頁(yè)面緩存的更新時(shí)間。 當(dāng)頁(yè)面第一次加載時(shí),緩存將被寫入到 application/cache 目錄下的文件中去。 之后請(qǐng)求這個(gè)頁(yè)面時(shí),就可以直接從緩存文件中讀取內(nèi)容并輸出到用戶的瀏覽器。 如果緩存過期,會(huì)在輸出之前被刪除并重新刷新。

開啟緩存

將下面的代碼放到任何一個(gè)控制器的方法內(nèi),你就可以開啟緩存了:

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

其中 $n 是緩存更新的時(shí)間(單位分鐘)。

上面的代碼可以放在方法的任何位置,它出現(xiàn)的順序?qū)彺鏇]有影響, 所以你可以把它放到任何你認(rèn)為合理的地方。一旦該代碼被放在方法內(nèi), 你的頁(yè)面就開始被緩存了。

重要

由于 CodeIgniter 存儲(chǔ)緩存的方式,只有通過 view 輸出的頁(yè)面才能緩存。

重要

如果你修改了可能影響頁(yè)面輸出的配置,你需要手工刪除掉 你的緩存文件。

注解

在寫入緩存文件之前,你需要把 application/cache/ 目錄的權(quán)限 設(shè)置為可寫。

刪除緩存

如果你不再需要緩存某個(gè)頁(yè)面,你可以刪除掉該頁(yè)面上的緩存代碼, 這樣它在過期之后就不會(huì)刷新了。

注解

刪除緩存代碼之后并不是立即生效,必須等到緩存過期才會(huì)生效。

如果你需要手工刪除緩存,你可以使用 delete_cache() 方法:

// Deletes cache for the currently requested URI
$this->output->delete_cache();

// Deletes cache for /foo/bar
$this->output->delete_cache('/foo/bar');
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)