3
A
回答
5
不是自動的,沒有。
無論您緩存的內容在到期前還是更新之後都不會更改。這就是緩存的一點。訣竅是定義一個適當的過期時間表和/或刪除/刷新緩存,當有什麼變化,你想立即反映。
假設你有一個博客,並且你需要緩存首頁,因爲它每次都會收到如此多的點擊,並且每次往返數據庫都會導致服務器關閉。無論何時創建或編輯博客文章,您都可以無限期地緩存頁面,清理緩存以強制更新。
或者,假設您顯示Twitter的職位,這是不斷更新的名單,但因爲Twitter規定的更新頻率的限制,則無法刷新他們每一次。在檢查新帖子之前,您需要使用時間有限的緩存,例如10分鐘。或者,比方說,從數據庫中拉出一些信息的純粹操作非常昂貴,所以你不想每次都這樣做,但是你總是需要最新的數據。在這種情況下,你做一個小的,便宜的查詢,以找出是否因爲你緩存它的最後一次數據已經改變(如取一定紀錄的modified
時間戳字段),並根據這些信息決定是否啓動越貴操作或只使用緩存的數據。
特定策略取決於您的情況。
2
有CakePHP中的幾種類型的高速緩存方法和高速緩存引擎: http://book.cakephp.org/view/156/Caching
我使用的是默認的文件緩存引擎。您可以配置您想要在core.php文件中緩存數據的時間。例如,我創建了一個'short'緩存和一個'long'緩存。
Cache::config('short', array(
'engine' => 'File',
'duration'=> '+1 hours',
//'path' => CACHE,
//'prefix' => 'cake_short_'
));
Cache::config('long', array(
'engine' => 'File',
'duration'=> '+1 week',
'probability'=> 100,
//'path' => CACHE . 'long' . DS,
));
所以每當你要讀取或寫入數據緩存,你可以指定這個配置的名字就知道多久緩存。更多信息:http://book.cakephp.org/view/767/Cache-write
相關問題
- 1. cakephp:關於緩存cakephp的問題
- 2. 關於JavaScript中的緩存問題/ jquery
- 3. cakePHP:關於ACL的問題
- 4. 關於Solr緩存機制的問題
- 5. 關於Cloudflare緩存作品的問題?
- 6. CakePHP奇怪的緩存問題_t_t_t
- 7. 關於CSS spritesheet的問題(有些關於緩存)
- 8. 關於在Magento中使用APC和整頁緩存的問題
- 9. CakePHP的:關於Cookie的問題過期
- 10. Cakephp:關於saveall()與多選的問題
- 11. 關於在高流量網站緩存的問題
- 12. CakePHP關聯問題
- 13. CakePHP關係問題
- 14. CakePHP關聯問題
- 15. CakePHP關係問題
- 16. 在cakephp中搜索緩存
- 17. 有關緩存的一些問題
- 18. 在cakephp中保存多個關聯模型的問題1.3
- 19. UIImage內存問題由於緩存
- 20. asp.net中的緩存問題
- 21. asp.net中的緩存問題
- 22. 關於HTTP頭緩存的問題時,到期
- 23. 關於Android上圖像緩存的問題
- 24. 關於使用子域強制緩存的問題
- 25. 關於緩存硬件影響的問題
- 26. 關於使用常量緩存的語法問題
- 27. 關於閃存問題
- 28. 關於XenAPI內存問題
- 29. 緩存問題
- 30. 緩存問題
這適用於僅查看緩存,但值得一提:「重要的是要記住,如果在緩存視圖中使用的模型被修改,Cake將清除***緩存視圖。 http://book.cakephp.org/view/348/Clearing-the-Cache – deizel 2010-01-20 16:27:27
@deizel我用視圖緩存爲不幸的是這說明沒有工作的最後一次。也許它在最新版本中有。 – deceze 2010-01-20 23:15:18