2012-06-09 149 views
1

我仍然是新的Codeigniter框架。今天,我讀數據庫緩存http://codeigniter.com/user_guide/database/caching.html和Web頁面緩存http://codeigniter.com/user_guide/general/caching.htmlCodeigniter Web頁面緩存和數據庫緩存?

我有點糊塗了,如果數據庫高速緩存使得任何大的意義,一旦頁面視圖已在緩存中。所以如果頁面在緩存中,它不會去數據庫。

唯一點我在以下情況下看到: 如果我加載從分貝30分的結果,然後使用PHP洗牌結果和從陣列拉10分的結果。下一次當頁面緩存被刪除時,我仍然會在緩存中獲得30個數據庫結果,但這次在對這30個結果進行整理之後會有不同的結果。

我缺少的東西,有也使用頁面緩存當具有數據庫緩存會帶來任何好處,當任何其他情況?

回答

4

數據庫高速緩存可以使用頁面緩存的時候也有利於你。如果您的頁面由多個數據庫查詢生成,其中一些數據是常量而另一個數據頻繁更改。

在這種情況下,你會希望同時使用相同的常量數據不查詢數據庫每次設置頁面緩存時間短時段,然後從數據庫中檢索新的數據。

例如:讓我們說你需要頻繁的數據而恆定的數據每24小時更改爲每5分鐘刷新一次。在這種情況下,您將設置頁面緩存爲5分鐘。在24小時內,您已經爲頻繁數據查詢了數據庫288次,但只查詢了一次常量數據。如果您尚未使用數據庫緩存,則它總計爲289個查詢,而不是576個查詢。