我看了这个链接: -
http://codeigniter.com/user_guide/general/caching.html
写道: -
When a page is loaded for the first time, the cache file will be written to your system/cache folder
我们可以按$this->output->cache(60);
缓存视图。但它是如何实际工作的?如果我的用户经常更新和删除记录,那么该视图会经常发生变化。它会显示修改过的数据吗?或者缓存会带回旧的陈旧数据吗? (在插入和更新之前)?如果它自动管理并从数据库中提取新数据,那么在cache
函数中指定分钟的目的是什么?
提前致谢:)
答案 0 :(得分:14)
codeigniter的缓存方式通常是:
发出页面请求。 Codeigniter(在很多框架被加载之前)执行当前url的哈希,如果它在缓存目录中找到该文件名,它就会服务。
获取新数据的唯一方法是手动删除文件。当codeigniter没有从它生成的哈希中找到该文件时,它会动态创建页面。
Codeigniter的实现被称为“整页”缓存,因此,它的有用性受到限制。我从Phil Sturgeon那里看到了一个部分缓存库:http://philsturgeon.co.uk/code/codeigniter-cache
老实说,对于大多数项目来说,整页缓存确实不是那么有用。事实上,我需要全页面缓存的项目我甚至不会将其留给codeigniter(我将它留给网络服务器:它的速度更快)。
我猜你正在寻找的是一种部分缓存方法;大多数人都喜欢这个。如果您使用的是单个服务器,请查看APC,如果您有多个服务器,请查看Memcached。
祝你好运。
答案 1 :(得分:7)
但它是如何实际运作的?
如果存在比缓存时间更年轻的缓存版本,则将输出该缓存版本。
它会显示修改过的数据吗?
最终是,但延迟为$ cache_time
如果我的用户经常不断更新和删除记录,那么该视图会经常发生变化。
减少缓存时间或根本不使用缓存