1

我还是 Codeigniter 框架的新手。今天我阅读了有关数据库缓存http://codeigniter.com/user_guide/database/caching.html和网页缓存http://codeigniter.com/user_guide/general/caching.html的内容。

一旦页面视图已经在缓存中,如果数据库缓存有意义,我会有点困惑。所以如果页面在缓存中,它无论如何都不会进入数据库。

我在以下场景中看到的唯一一点:如果我从 db 加载 30 个结果,然后使用 php 对结果进行洗牌并从数组 10 结果中提取。下次当页面缓存被删除时,我仍然会有 30 个来自 db 的结果在缓存中,但是这次将这 30 个结果洗牌后会有不同的结果。

我是否遗漏了一些东西,当使用数据库缓存时是否还有其他情况会在使用页面缓存时带来任何好处?

4

1 回答 1

4

使用页面缓存时,数据库缓存也可以使您受益。如果您的页面是由多个数据库查询生成的,其中一些数据是不变的,而另一些则经常更改。

在这种情况下,您需要将页面缓存设置为较短的时间段,并且每次都从数据库中检索新数据,同时使用相同的常量数据而不查询数据库。

示例:假设您的频繁数据需要每 5 分钟刷新一次,而常量数据每 24 小时更改一次。在这种情况下,您将页面缓存设置为 5 分钟。在 24 小时内,您向数据库查询了 288 次频繁数据,但只查询了一次常量数据。如果您没有使用数据库缓存,则总共有 289 个查询而不是 576 个。

于 2012-06-09T08:32:43.570 回答