簡體   English   中英

在yii中查詢緩存

[英]Query cache in yii

如果我想在此處的教程中使用查詢緩存:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM