[英]Query cache in yii
如果我想在此處的教程中使用查詢緩存:
我是否應該在每個表中都有update_time字段?
$dependency = new CDbCacheDependency('SELECT MAX(update_time) FROM tbl_post');
該字段是否必須存在才能使用查詢緩存?
該指南只給你一個例子,你如何使用與查詢緩存緩存的依賴,但依賴是不是強制性的。 如果您使用一個,如果緩存的內容仍然有效,您可以提出自己的SQL來查找。 因此update_time
字段也不是必需的。
回答你的問題,正如邁克爾已經寫過的那樣,這不是強制性的。 要了解更多信息,您應該了解依賴關系查詢所扮演的角色。
考慮一個例子。 您希望緩存將列出所有用戶的查詢。 像SELECT * FROM users
這樣的東西。 假設在任何時間點,它是100個用戶。
現在主要的問題是你認為你的緩存數據什么時候變得無效? 每當添加新用戶時,您都需要重新查詢(不使用緩存數據/無效緩存數據)。 如何找到新用戶? 通過查詢ID號。 因此,如果查詢SELECT MAX(ID) FROM Users
返回不同的值,則表示添加了新用戶。
記住如果用戶被刪除,那么我的示例將無效。 那個時候,在刪除用戶之后,你應該刪除相應的緩存數據。
通過這種方式,您應該找到可用於驗證緩存數據的相關查詢。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.