2012-12-02 24 views
2

我的應用程序允許註冊用戶發佈內容。在頂部欄上,像許多社交應用程序一樣,登錄後可以看到他們的頭像等。CodeIgniter - 如何有選擇地緩存輸出?

我的問題是,使用CodeIgniter的輸出緩存時,頭部中的用戶特定內容會被緩存。

這是因爲我首先通過MY_Controller加載用戶特定的邏輯,然後由所有其他控制器進行擴展。

當我把

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

在加載我的主頁控制器,它也結束了高速緩存是該緩存頁面生成的用戶的頭像和名字。

有沒有人有建議選擇什麼纔是有選擇性地緩存公共內容的最佳方式?很高興發佈更多的代碼,如果需要的話。

回答

2

我敢肯定有人會糾正我,如果我錯了,但我認爲codeigniter緩存只允許緩存整個頁面。還有一些其他的庫這使部分頁面緩存,看看這裏菲爾鱘魚的努力: http://getsparks.org/packages/cache/show

我個人的做法是不是與頁面緩存打擾,只使用數據庫高速緩存是比較挑剔 - 但是如果你想/需要頁面緩存然後我認爲上面是唯一的路要走

+0

不幸的是,sturgeon的庫似乎不適用於我 - 我無法使其工作緩存數組 - 雖然緩存文件已創建,但它不包含我的數據 – pepe

+1

這個http://ellislab.com/forums/viewthread/69843/怎麼樣,因爲我說有一些關於但我沒有用過 - 我只知道鱘魚先生通常知道他在做什麼。 – WebweaverD

+0

確定它是我的壞 - 配置INT過期是秒而不是分鐘,所以我配置它不正確 - 似乎現在我需要弄清楚如何允許分頁,因爲緩存的主頁只是繼續加載本身,而不是頁面2 ,3等 – pepe