CI框架数据库查询缓存优化的方法
本文实例讲述了CI框架数据库查询缓存优化的方法。分享给大家供大家参考,具体如下:
CI框架中有个比较好的查询优化,就是数据库缓存优化
1.开启缓存
//在application/config.php中开启 $db['default']['cache_on'] = TRUE; //在application/config.php中开启 $db['default']['cachedir'] = './cache'; //并在对应的目录中加一个可写缓存目录cache
2. 在对应的查询中开启缓存语句
// 打开缓存开关 $this->db->cache_on(); $query = $this->db->query("SELECT * FROM mytable"); // 使下面这条查询不被缓存 $this->db->cache_off(); $query = $this->db->query("SELECT * FROM members WHERE member_id = '$current_user'"); // Turn caching back on $this->db->cache_on(); $query = $this->db->query("SELECT * FROM another_table");
3. 添加相应的 清空缓存
//缓存不会自动删除 只能手动删除 //这样 你可以在对应的 增改删 语句中清除缓存 就ok了 //清空所有缓存 $this->db->cache_delete_all() /* 清空单个缓存 example.com/index.php/blog/comments的页面, 缓存系统会把所有生成的缓存文件放进 一个以 blog+comments做为名称的文件夹里. 如果您要删除关于刚才提到的这个例子与 之对应的缓存文件 需要执行以下代码: */ $this->db->cache_delete('/blog', 'comments');
更多关于CodeIgniter相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。
相关推荐
-
CI(CodeIgniter)框架中的增删改查操作
CodeIgniter的数据函数类在 \system\database\DB_active_rec.php 复制代码 代码如下: <span style="font-size:16px;">class ModelName extends CI_Model { function __construct() { parent::__construct(); } }</span> 连接数据库:$this->load->
-
codeigniter数据库操作函数汇总
网上倒是有不少Codeigniter数据库操作的介绍,这里做一个汇总. 复制代码 代码如下: //查询: $query = $this->db_query("SELECT * FROM table"); ================================== //result() 返回对象数组$data = $query->result(); //result_array() 返回数据$data = $query->result_array(); //r
-
新浪SAE云平台下使用codeigniter的数据库配置
由于新浪SAE对文件权限的限制,cache目录无法修改权限,因此原版Codeigniter无法直接使用.可以尝试codeIgniter 2.10 for SAE:http://code.google.com/p/ci-sae/. 在database.php中配置如下: 复制代码 代码如下: $db['default']['hostname'] = SAE_MYSQL_HOST_M;$db['default']['username'] = SAE_MYSQL_USER;$db['default']
-
codeigniter自带数据库类使用方法说明
初始化数据库类 依据你的数据库配置载入并初始化数据库类: 复制代码 代码如下: this->load->database(); 被载入之后你可以在任何地方使用它. 以对象形式返回查询结果 复制代码 代码如下: $query = $this->db->query('SELECT name, title, email FROM my_table'); foreach ($query->result() as $row){ echo $row->title; ec
-
CI配置多数据库访问的方法
本文实例讲述了CI配置多数据库访问的方法.分享给大家供大家参考,具体如下: 1.修改datebase.php文件,将: $db['XXX']['pconnect'] = TRUE; 修改成: $db['XXX']['pconnect'] = FALSE; 2.将原来的数据库链接定义复制一份,如当前 $db['bbs']['hostname'] = '你的数据库IP地址'; $db['bbs']['username'] = '链接用户名'; $db['bbs']['password'] = '数据
-
CI框架AR数据库操作常用函数总结
本文实例讲述了CI框架AR数据库操作常用函数.分享给大家供大家参考,具体如下: 1.查询表记录 $this->db->select(); //选择查询的字段 $this->db->select_max(); $this->db->select_min(); $this->db->select_avg(); $this->db->select_sum(); $this->db->from(); //选择表名 $this->db-&
-
CodeIgniter框架基本增删改查操作示例
本文实例讲述了CodeIgniter框架基本增删改查操作.分享给大家供大家参考,具体如下: 对于codeigniter的增删改,在此我用自己的一个例子来说明一下: 创建数据库: CREATE TABLE IF NOT EXISTS `users` ( `id` int(10) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `password` varchar(50) NOT NULL, `email` varchar(100)
-
CI框架入门示例之数据库取数据完整实现方法
本文实例讲述了CI框架入门示例之数据库取数据完整实现方法.是写给初学者看的,这是最简单可以调通的例子.分享给大家供大家参考.具体实现方法如下: 1.下载CI框架 2.配置 database.php配置: 为数据库服务器设置 connection 参数: 复制代码 代码如下: $db['default']['hostname'] = "your-db-host"; $db['default']['username'] = "your-username"; $db[
-
php中CI操作多个数据库的代码
其实,这不是什么难事,因为刚入手CI,所以还是费了一番周折.好在有手册. 找到数据库配置文件,添加一个新的库的连接信息.$config[XX]. 在控制器里边, a) $this->xx = $this->load->database('XX', TRUE) tip:XX表示你配置的数据库信息数组的键名,后边建议设置为TRUE,分别表示返回连接ID和启用ActionRecord类 b) 然后在该控制器里边你就可以用 $this->xx->query()来查询你的另一个库的数据
-
CodeIgniter删除和设置Cookie的方法
本文实例讲述了CodeIgniter删除和设置Cookie的方法.分享给大家供大家参考.具体如下: $cookie = array( 'name' => 'loggedin', 'value' => 'yes', 'expire' => '86500', 'domain' => '.apol0829.dev', 'prefix' => 'apollidon_' ); set_cookie($cookie); $cookie = array( 'name' => 'log
-
CI框架中数据库操作函数$this->db->where()相关用法总结
本文实例总结了CI框架中数据库操作函数$this->db->where()相关用法.分享给大家供大家参考,具体如下: CI 框架数据库操作函数 this->db->where() 的使用 1) $this->db->where('MATCH (field) AGAINST ("value")', NULL, FALSE) 如果把$this->db->where() 接受可选的第三个参数设置为 FALSE, CodeIgniter 将不会为
-
CI框架出现mysql数据库连接资源无法释放的解决方法
本文实例分析了CI框架出现mysql数据库连接资源无法释放的解决方法.分享给大家供大家参考,具体如下: 使用ci框架提供的类查询数据: $this->load->database(); $query = $this->db->query($sql); 程序运行一段时间之后,报错,告知数据库too many connections 很明显MySQL数据库连接资源超过了 max_connections 设定值.立马在每个查询之后,添加资源释放脚本: $this->db->c
-
CI框架数据库查询之join用法分析
本文实例讲述了CI框架数据库查询之join用法.分享给大家供大家参考,具体如下: 用 A表中的每个ID 去查询这个 ID 在 people 表中的信息.语句如下: $this->db->from('A'); $this->db->join('B', 'sites.id = B.id'); 用 A表中的每个ID 去查询这个 ID 在 B表中的信息. 注意SQL的约定,如果一个列名在二张表中是重复的,你需要在列名前加上表名和一个"."号.因此sites.id在位置桌
随机推荐
- redis集群搭建教程及遇到的问题处理
- Python和C/C++交互的几种方法总结
- python基础教程之类class定义使用方法
- docker 限制容器对CPU的使用
- java实现清理DNS Cache的方法
- iOS中只让textField使用键盘通知的实例代码
- js链表操作(实例讲解)
- 再来个专门为google量身定做的sitemap生成代码,(可是动态的哦)
- JavaScript实现跟随滚动缓冲运动广告框
- 完美解决在ModalPopupExtender中使用CalendarExtender时被层遮挡的问题
- Python中的is和==比较两个对象的两种方法
- Android开发中Eclipse报错及对应处理方法总结
- Android触屏测试实例代码
- 浅析JQuery中的html(),text(),val()区别
- jQuery点击头像上传并预览图片
- jQuery检测滚动条是否到达底部
- javascript 解决表单仍然提交即使监听处理函数返回false
- 用EPTS诊断打印机故障的方法
- dedecms实现仿downkr的sitemap效果代码
- JVM 参数配置详细介绍