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

Php CI页面缓存是否同时包括数据和;页 我正在为一个快速扩展数据库的应用程序建立基础。目前只有大约12000个用户,已经有一个表包含超过500万个记录字段。这开始增加了很多查询的执行次数。因此,我开始考虑在有限的时间内(比如30分钟,也许一小时)缓存查询或整个页面,php,database,codeigniter,caching,Php,Database,Codeigniter,Caching,我在《用户指南》(例如)和一系列论坛中读到了很多关于CodeIgniter(v2.1.4)缓存选项的内容,以及关于缓存的问题 我还读了一些关于Memcached和APC缓存方法的知识。基于我想使用的评论和差异 那么,缓存页面是否也包括组成页面内容所需的所有数据?还是每次提供缓存页面时都会执行查询 如果是后者,如何将查询结果缓存一段有限的时间(比如前面提到的30或60分钟),以防止数据库变得太忙 首选的情况是能够存储完整的页面,并在每次计时器运行时对其进行刷新(也无需用户请求页面)。页面当然也会包

我在《用户指南》(例如)和一系列论坛中读到了很多关于CodeIgniter(v2.1.4)缓存选项的内容,以及关于缓存的问题

我还读了一些关于Memcached和APC缓存方法的知识。基于我想使用的评论和差异

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

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


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

使用
$this->output->cache(n)的CI intern通用缓存()
会缓存整个输出(并且只有在使用
$this->load->view
时才有效)。 问题是,与用户相关的内容也被缓存并传递给其他用户。我有这方面的经验


您可以查看detailled缓存库。如果您的问题与此库相关,我很遗憾无法帮助您。

只是为了澄清我对您的理解是正确的。如果用户X在页面userdata上拥有M的权限,则相同的页面/数据将被提供给在页面userdata上拥有P的权限的用户Y?是的,用户Y将获得用户X的缓存输出。这是我使用常规CI缓存的经验。也许我做错了什么,但这几乎只是我添加的一行代码。。。你可以在本地主机上试试。使用用户X登录到用户配置文件页面(使用
$this->output->caching(5);
)或其他什么,然后注销并使用用户Y登录到配置文件页面。我想你可以像
->保存(“user\u profile{$user\u id},$result,1200)
,并且每个用户都是唯一的。你能举一个例子@RobinCastlin吗?我想知道你会怎么做。好吧,基本上你通过在字符串中提供用户id来为每个用户保存一个唯一的字符串?已经给出了一个例子。当然,所有官方数据都不会用到这个。