设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 问答求助
›
求助:CI output cache ,数据库缓存类的用法 ...
返回列表
查看:
8149
|
回复:
6
[已过期]
求助:CI output cache ,数据库缓存类的用法
[复制链接]
itlong
itlong
当前离线
积分
-494
IP卡
狗仔卡
发表于 2008-10-4 11:14:01
|
显示全部楼层
|
阅读模式
研究CI有一段时间,也用CI做过一些站,主要是个别功能模块。没有用过cache类东西。
今天突然想起,看一下ci的缓存实现方式,可是找不到具体的说法。
我看了,CI里有两个地方是接近数据缓存的实现,一个是view输出缓存,一个是数据库缓存类.
1,在view输出缓存里,有个output之类的东西,可是手册里没有系统的说明, 只说明让用户最后得到所有view输出的html.
一般缓存功能都涉及到命名,保存路径,过期时间,访问等管理功能,可是CI里没有讲到(做到)。大家都知道,cache实现,可是网站的重点之重,
也是走向一个好框架的第一步,希望CI在cache功能上下点功夫,集成强大一点的cache类。
2,数据库缓存类,CI倒是做了,可是我看不明白,它说得好笼统,不明白如何实现,请大侠们给个实现例子。
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
kissmumu
kissmumu
当前离线
积分
12184
IP卡
狗仔卡
发表于 2008-10-4 11:26:27
|
显示全部楼层
我是在controller的构造函数里用cache的
<?php
class News extends Controller {
function News()
{
parent::Controller();
$this->load->model('News_model');
$this->load->library('layout');
$this->output->cache(10);
}
复制代码
这样就会让整个控制器下的所有页面都缓存10分钟。缓存存放在system/cache下,也可以通过config/config.php的$config['cache_path']调整cache存放的位置。确实可以提高效率,淡水测试时,没用是花费0.0359 seconds,用了后花费0.0054 seconds:)
回复
支持
反对
使用道具
举报
显身卡
yz20sui
yz20sui
当前离线
积分
117
IP卡
狗仔卡
发表于 2008-10-5 18:31:28
|
显示全部楼层
在你的模型里操作数据库的相关代码 前后加上
$this->db->cache_on();
$this->db->query('select a from a_table order by id desc');
$this->db->cache_off();
这条查询结果就会被缓存
config/database.php 里面
$db['default']['cachedir'] = ""; 默认
改为
$db['default']['cachedir'] = "./cache";
cache 位置为 网站根目录(酌情修改)
数据库cache 不同于 视图cache
不可以设置刷新时间 一旦cache 要想更新必须用
$this->db->cache_delete() 来删除
具体的例子 手册里面有 我之前大概的翻译了下...
回复
支持
反对
使用道具
举报
显身卡
xjflyttp
xjflyttp
当前离线
积分
22
IP卡
狗仔卡
发表于 2008-10-5 19:23:52
|
显示全部楼层
自己做靜態比較好....
回复
支持
反对
使用道具
举报
显身卡
漫无目的
漫无目的
当前离线
积分
49
IP卡
狗仔卡
发表于 2009-2-22 03:10:56
|
显示全部楼层
页面缓存我是弄懂了
但就是这个数据库缓存,不是很明白
看手册里分AR缓存,和查询缓存,我看写法都一样。但不知是不是相同的;
还就是根据手册和LS的大大们说的:如果数据库缓存了生成的缓存,要自己手动写代码删除缓存,下次访问时程序才会将新数据缓存起来,是这样么?
回复
支持
反对
使用道具
举报
显身卡
xiangxiaodong
xiangxiaodong
当前离线
积分
93
IP卡
狗仔卡
发表于 2011-1-29 10:33:34
|
显示全部楼层
最近也在看这块,学到不少东东
回复
支持
反对
使用道具
举报
显身卡
自然
自然
当前离线
积分
314
IP卡
狗仔卡
发表于 2012-4-6 13:56:37
|
显示全部楼层
mark 下
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页