我仍然是Codeigniter框架的新手。今天我读到了关于数据库缓存http://codeigniter.com/user_guide/database/caching.html和网页缓存http://codeigniter.com/user_guide/general/caching.html的文章。
我有点困惑,一旦页面视图已经在缓存中,数据库缓存是否有任何重大意义。因此,如果页面在缓存中,它无论如何都不会进入数据库。
我在下面的场景中看到的唯一一点是:如果我从db加载30个结果,那么使用php来混洗结果并从数组10中提取结果。下一次删除页面缓存时,我在缓存中仍将有30个来自db的结果,但这次在混洗这30个结果后会有不同的结果。
我是不是遗漏了什么,还有什么其他的场景,当使用同样的页面缓存时,拥有数据库缓存将带来任何好处?
发布于 2012-06-09 16:32:44
在使用页面缓存时,数据库缓存也能给您带来好处。如果您的页面是由多个数据库查询生成的,其中一些数据是恒定的,而另一些数据则频繁更改。
在这种情况下,您需要将页面缓存设置为较短的时间段,并且每次都从数据库中检索新数据,同时使用相同的常量数据,而无需查询数据库。
例如:假设您的频繁数据需要每5分钟刷新一次,而常量数据每24小时更改一次。在这种情况下,您将页面缓存设置为5分钟。在24小时的时间内,您已经为频繁数据查询了数据库288次,但只查询了一次常量数据。如果你没有使用数据库缓存,那么总共有289个查询,而不是576个。
https://stackoverflow.com/questions/10958294
复制相似问题