最近接触到了CodeIgniter开源轻量级架构,集合了开发中常用的类和功能函数,关于CodeIgniter的缓存总结有以下几点:

    1. 数据库缓存

    数据库缓存主要是针对于SELECT查询

// 打开缓存开关$this->db->cache_on();$query1 = $this->db->query("SELECT * FROM mytable");

// 使下面这条查询不被缓存$this->db->cache_off();$query2 = $this->db->query("SELECT * FROM members WHERE member_id = '$current_user'");

// 再次打开缓存开关$this->db->cache_on();$query3 = $this->db->query("SELECT * FROM another_table");

这样query1和query3就被缓存在文件中了,缓存的路径根据您的URL而定,如example.com/index.php/blog /comments的页面, 缓存系统会把所有生成的缓存文件放进一个以 blog+comments做为名称的文件夹里. 如果您要删除关于刚才提到的这个例子与之对应的缓存文件 需要执行以下代码:

$this->db->cache_delete('blog', 'comments');//$this->db->cache_delete('blog', 'comments')#来删除缓存

如果要清除所有数据库缓存:

$this->db->cache_delete_all();

*其cache模式在于针对不同的uri就会生成cache文件,如果URL中参数不同,则 cache文件就会不同,从而产生了漏洞。如果访问者构建自动生成URI,不断向服务器发起请求,就会瞬间产生大量的垃圾文件,导致系统文件臃肿。

    2. 页面缓存

$this->output->cache(n); // 请确保application/cache可写

n 是你希望缓存更新的 分钟 数。可以使用 m/60 来精确到秒,例如 1/60 ,则是精确到 1秒
  

    3. 序例化缓存到文件

$this->load->driver('cache', array('adapter' => 'apc', 'backup' => 'file'));

if ( ! $foo = $this->cache->get('foo')) {echo 'Saving to the cache!<br />';$foo = 'foobarbaz!';

// Save into the cache for 5 minutes      $this->cache->save('foo', $foo, 300); }

echo $foo; 

转载于:https://www.cnblogs.com/webu/archive/2012/11/17/2774749.html

CodeIgniter的缓存小记相关推荐

  1. ci mysql 缓存_CodeIgniter框架中启用和清除缓存的教程

    CodeIgniter框架启动与缓存问题许多的新手都不知道如何来操作了,下面我们就一起来看一篇关于CodeIgniter框架中启用和清除缓存例子,具体如下所示. Codeigniter支持缓存技术,以 ...

  2. CI框架 -- 网页缓存

    CodeIgniter 可以让你通过缓存页面来达到更好的性能. 尽管 CodeIgniter 已经相当高效了,但是网页中的动态内容.主机的内存 CPU 和数据库读取速度等因素直接影响了网页的加载速度. ...

  3. ci mysql 缓存_CI框架缓存的实现原理

    今天花了点时间看了下CI框架源码缓存的实现,写出来梳理下思路. 1:在CI框架中加载视图文件使用的是$this->load->view();方法,所以从load类库着手,在ci的syste ...

  4. 《Web全栈工程师的自我修养》读书笔记

    <Web全栈工程师的自我修养>读书笔记 [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://w ...

  5. 在codeigniter中使用Cache_Lite来缓存

    最近在做一个小项目,利用到了Codeigniter 这个框架,主要是看重他小巧.方便.快捷,文档齐全.在MVC处理上十分灵活.尤其是model模型,与Zend_Db_Table相比虽然简化,但是十分方 ...

  6. php ci 框架 扩展缓存类,PHP CodeIgniter框架的工作原理研究

    这篇文章主要介绍了PHP CodeIgniter框架的工作原理研究,本文首先分析了它的工作流程,然后总结了它的工作原理,需要的朋友可以参考下 CodeIgniter(以下简称CI,官网以及中国站)是一 ...

  7. CodeIgniter 框架自带缓存功能使用

    CodeIgniter自带缓存功能使用 准备: 自己写一个缓存的类,存放在libraries中 class My_cache{private $ci;public function __constru ...

  8. html页面缓存纪txt,cdn缓存的html静态页未更新小记

    今天遇到一个html静态页面始终不更新的问题,抽空找了下原因. 现象:上线了一个静态页面,强刷.清理浏览器缓存都无法更新资源.显然不是浏览器的问题,应该是cdn这边的缓存没更新.https://app ...

  9. PHP输出缓存(output_buffering)小记 -- 尚有疑问

    首先明确一下PHP的输出顺序 1.打开了php输出缓存: echo,print -> php output_buffring -> server buffering -> brows ...

  10. php ci 框架 扩展缓存类,CodeIgniter扩展核心类实例详解

    本文实例讲述了CodeIgniter扩展核心类的方法.分享给大家供大家参考,具体如下: CI中对核心类.辅助类和函数的扩展是相当方便的,配置文件中指定了subclass_prefix扩展前缀,默认为M ...

最新文章

  1. mysql client dev_ubuntu下mysql安装(server、client、dev),开启、停止和重启,及常见错误...
  2. 【Linux】Linux基本命令(一)
  3. scalar parameter xxxxx created globally in function xxxx
  4. MVC3 Razor @RenderSection
  5. 卷积神经网络爬虫实现新闻在线分类系统
  6. Modbus协议栈开发笔记之四:Modbus TCP Client开发
  7. mysql导出kml_谷歌地图如何导出kml文件 导出kml文件教程
  8. redis linux中的安装
  9. 如何看出男朋友有没有潜力?
  10. Unity编辑器控件的使用(—)
  11. python socket原理 及socket如何使(tcp udp协议)
  12. love2d与imgui
  13. 2.5css ps切图、
  14. 网站推广第一周总结和反思
  15. jq多选按钮值_JQuery 多选按钮checkbox
  16. linux中的setenv命令
  17. app live photo_iphone live photo app恢复
  18. CSS,HTML,JS 以及Vue前端面试题八股文总结【看完你就变高手】
  19. python怎么使用证书_Python使用系统SSL证书?
  20. 笔记本电脑卡顿问题原因

热门文章

  1. matplotlib简介
  2. 省地县级联操作 http://www.popub.net/script/pcas.html
  3. Spark2 文件处理和jar包执行
  4. 基于 Sharding Sphere,实现数据 “一键脱敏”!
  5. 牛逼!Intellij IDEA竟然有个功能可自动生成代码,你用过没?
  6. 重磅消息:F5收购Nginx!
  7. Android 11 Meetup 上海站!来了!
  8. 是的,我开通了小密圈
  9. 为什么100offer坚持私密招聘?
  10. twrp两种方式刷入的mm管理器_Google Pixel C 刷入Magisk