我們的軟件使用元素緩存在CakePHP的應用程序下面的方法:在CakePHP中,元素緩存沒有做任何事情
示例代碼:
<?php echo $this->element('cities-index', array('Cache' => array('time' => "12 hours")));?>
根據相關文檔,這應該只是罰款。
我已經分離出這種說法是我們的網頁加載的主要原因慢(這個操作成本我們0.2秒每頁執行),我已經得出這樣的緩存是做絕對沒有發現。
緩存在core.php中啓用並設置爲文件和應用程序的/ tmp文件夾有正確的權限。我們已經苦心經歷了CakePHP文檔並且被難住了。
我們將不勝感激任何幫助,謝謝!
我們啓用上的控制器級緩存中,通過引用緩存助手,以及$所有密集型數據庫調用cacheActions。請原諒我,如果我錯了,但不是元素緩存等同於「片段緩存」的意思,它應該繞過任何和所有的計算,並簡單地呈現緩存的HTML輸出? – Mark 2010-11-08 06:12:01
不是,因爲控制器代碼已經在視圖代碼之前執行過,所以它已經被執行以及DB調用。只要確保你緩存結果。 – 2010-11-08 07:38:24
有趣,感謝您的解釋。不幸的是,我們已經在控制器中進行緩存,但我會研究該部分是否正常工作。謝謝您的幫助。 – Mark 2010-11-08 07:53:01