Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 创建过期时间戳缓存表可以吗?_Php_Sql_Caching_Yii - Fatal编程技术网

Php 创建过期时间戳缓存表可以吗?

Php 创建过期时间戳缓存表可以吗?,php,sql,caching,yii,Php,Sql,Caching,Yii,我正在阅读Yii实现的缓存机制以及其他可能的框架/技术/数据库。如果我没有弄错,那么有一步你必须指定一个条件来使缓存过期。如果您有一个带有时间戳字段的用户行,则可以使用此时间戳来验证它(行)的一致性。如果您有一个包含不可擦除/可更新行的日志表,则可以使用count(*)确保该查询/表的缓存结果是最新的 现在,我的问题是: 假设我有13张桌子。创建另一个只有一列时间戳的表(CacheTable)是否有用,每一行都告诉我上次更新/删除/插入另一个表是什么时候,并使用此缓存表来验证所有缓存查询的过期条

我正在阅读Yii实现的缓存机制以及其他可能的框架/技术/数据库。如果我没有弄错,那么有一步你必须指定一个条件来使缓存过期。如果您有一个带有时间戳字段的用户行,则可以使用此时间戳来验证它(行)的一致性。如果您有一个包含不可擦除/可更新行的日志表,则可以使用count(*)确保该查询/表的缓存结果是最新的

现在,我的问题是:


假设我有13张桌子。创建另一个只有一列时间戳的表(CacheTable)是否有用,每一行都告诉我上次更新/删除/插入另一个表是什么时候,并使用此缓存表来验证所有缓存查询的过期条件?

如果您计划创建触发器来更新缓存表,这是一个很好的解决方案,您不想在代码中进行更新,因为以后将很难维护。

但这真的有用吗?它的性能优于数据库本身的缓存?或者是不依赖于表的另一种方法?无论您做什么,如果您考虑的是CDbCacheDependency(),那么您最终会访问数据库,您可以看看其他一些缓存依赖项选项吗?是的,我在考虑CDbCacheDependency。我去数据库执行查询没有问题。我只是想知道在某些情况下使用这个是否值得麻烦。我想这是值得的。