Yii查询缓存强制缓存也用于即将进行的模型调用

时间:2015-01-15 07:15:04

标签: php caching yii query-cache

我的应用程序中存在一个奇怪的问题(Yii Framework 1.1.8)。

我调用了一个函数如下:

UserDataModel::model()->cache(3600, $dependency)->getAttributes();

调用此函数后,我调用了另一个模型并获取了数据。

ProfileModel::model()->findAll();

令我惊讶的是,ProfileModel也被缓存了。当我删除第一行(UserDataModel)时,ProfileModel会获取未缓存的数据。由于两个模型都不同,为什么第一个模型强制缓存用于下一个模型调用?

我的实施有什么问题吗?

感谢。

Arfeen

1 个答案:

答案 0 :(得分:1)

我希望我可以帮助你,因为我可以看到你没有在缓存中指定第三个参数来指示要缓存的查询数。我的猜测是,如果依赖项为true,那么从该行到底部的所有内容都将缓存在完全独立于模型的cfilecache中。事实上,我有缓存,它实现了对几个表的依赖,所以我可以缓存多个查询,在第三个参数中,我告诉缓存我将保存多少个查询