1

我正在为具有快速扩展数据库的应用程序奠定基础。目前只有大约 12000 个用户,已经有一个包含超过 500 万个记录字段的表。这开始增加执行查询的次数。因此,我开始考虑在有限的时间内(比如 30 分钟,可能是一个小时)缓存查询或整个页面。

我已经阅读了很多关于 CodeIgniter (v2.1.4) 的缓存选项的内容,贯穿整个用户指南(例如这里这里这里)以及一堆关于缓存的论坛和 SO 问题。

我还阅读了一些有关 Memcached 和 APC 缓存方法的信息。基于评论和差异,我想使用APC Caching

那么,缓存页面是否还包括构成页面内容所需的所有数据?还是每次提供缓存页面时都会执行查询?

如果是后者,如何在有限的时间内(比如前面提到的 30 或 60 分钟)缓存查询结果以防止数据库变得太忙?

首选的情况是能够存储完整的页面并在每次计时器运行时刷新它们(也无需用户请求页面)。该页面当然也会包含来自查询的新数据。

4

1 回答 1

0

CI-intern 通用缓存(http://ellislab.com/codeigniter/user-guide/general/caching.html$this->output->cache(n);确实缓存了整个输出(只有在你使用时才有效$this->load->view)。问题是,与用户相关的内容也被缓存并传递给其他用户。我有这方面的经验...

您可以查看详细的缓存库http://ellislab.com/codeigniter/user-guide/libraries/caching.html。如果您的问题无论如何都与此库有关,那么很遗憾,我无法为您提供帮助。

于 2013-10-28T10:08:09.757 回答