2012-06-09 151 views
1

我仍然是新的Codeigniter框架。今天,我读数据库缓存http://codeigniter.com/user_guide/database/caching.html和Web页面缓存http://codeigniter.com/user_guide/general/caching.htmlCodeigniter Web页面缓存和数据库缓存?

我有点糊涂了,如果数据库高速缓存使得任何大的意义,一旦页面视图已在缓存中。所以如果页面在缓存中,它不会去数据库。

唯一点我在以下情况下看到: 如果我加载从分贝30分的结果,然后使用PHP洗牌结果和从阵列拉10分的结果。下一次当页面缓存被删除时,我仍然会在缓存中获得30个数据库结果,但这次在对这30个结果进行整理之后会有不同的结果。

我缺少的东西,有也使用页面缓存当具有数据库缓存会带来任何好处,当任何其他情况?

回答

4

数据库高速缓存可以使用页面缓存的时候也有利于你。如果您的页面由多个数据库查询生成,其中一些数据是常量而另一个数据频繁更改。

在这种情况下,你会希望同时使用相同的常量数据不查询数据库每次设置页面缓存时间短时段,然后从数据库中检索新的数据。

例如:让我们说你需要频繁的数据而恒定的数据每24小时更改为每5分钟刷新一次。在这种情况下,您将设置页面缓存为5分钟。在24小时内,您已经为频繁数据查询了数据库288次,但只查询了一次常量数据。如果您尚未使用数据库缓存,则它总计为289个查询,而不是576个查询。