我看了这个链接: -
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
功能中指定分钟的目的是什么?
提前致谢 :)
codeigniter的缓存工作方式通常如下:
发出页面请求.Codeigniter(在很多框架被加载之前)执行当前url的哈希,如果它在缓存目录中找到该文件名,它就会提供.
获取新数据的唯一方法是手动删除文件.当codeigniter从它生成的哈希中找不到该文件时,它会动态创建该页面.
Codeigniter的实现被称为"整页"缓存,因此,它的有用性受到限制.我从Phil Sturgeon那里看到了一个部分缓存库:http://philsturgeon.co.uk/code/codeigniter-cache
老实说,对于大多数项目来说,整页缓存确实不是那么有用.事实上,我需要全页面缓存的项目我甚至不会把它留给codeigniter(我把它留给网络服务器:它的速度更快).
我猜你正在寻找的是一种部分缓存方法; 大多数人都喜欢这个.如果您使用单个服务器或Memcached(如果您有多个服务器),请查看APC.
祝好运.
但它是如何实际工作的?
如果存在比缓存时间更小的缓存版本,则将输出该缓存版本.
它会显示修改过的数据吗?
最终是的,但滞后$ cache_time
如果我的用户经常更新和删除记录,那么该视图会经常发生变化.
减少缓存时间或根本不使用缓存