2

我将缓存CActiveRecord用作:

$myoboject = ListModel::model()->cache(60)->findAll();

根据文档,它将结果集缓存 60 秒。

我想问一下,如果另一个请求会在 60 秒内到来,它会打开一个新的数据库连接吗?我认为它不应该这样做,而是应该获取缓存的数据。

我遇到这个问题是因为我想避免脚本打开多个数据库连接,并且我想将数据缓存 60 秒,然后它可以失效。

我在正确的轨道上吗?这是正常行为吗?如果有什么问题,有人会告诉我吗?

我使用过 Memcache 和 Sqlite。

4

1 回答 1

1

根据一些研究、论坛讨论和分析CDConnection 和CActiveRecord 代码,确认它必须打开一个新连接。所以要么我们编写代码来避免这种情况,要么等待一个特性。直到我们可以通过将数据对象保存到缓存中来使用数据缓存。

于 2012-12-24T10:58:24.550 回答