繁体   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