zoukankan      html  css  js  c++  java
  • 在codeigniter中使用Cache_Lite来缓存

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

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

    因此如果要用到cache功能就必须找到第三方的开发库。Pear中,Cache_Lite属于较为轻量级的缓存系统,且功能强大,可以作为CI原生cache的替代品,将其加入自定义的library文件即可完成。

    步骤如下:

    1. 下载Cache_Lite
      下载地址:http://download.pear.php.net/package/Cache_Lite-1.7.7.tgz
    2. 配置以及使用
      解压缩后,将Cache_Lite.php和Lite文件夹复制到 system/application/libraries中。并在Cache_Lite.php中加入:
      if (!defined(’BASEPATH’)) exit(’No direct script access allowed’);
      在要使用Cache_Lite的Controller中,加入:
      $ops = array(
              ‘cacheDir’ => BASEPATH.’/cache/’, //cache文件存储位置
              ‘lifeTime’ => 3600, //cache的有效期
              );
      // ;
      $this->load->library(”Cache_Lite”,$ops,”cc”); //cc为Cache_Lite的别名
      然后在要利用Cache的位置使用Cache_Lite自带的函数就可以拉。
      如:读取缓存:
      $string = $this->cc->get($id);
      生成缓存:
      $this->cc->save($outputString);

    出处:http://www.zhaiqianfeng.com    
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    从读者角度来看Blog
    NDuiker项目第3天
    IssueVision的List控件源码分析
    测试一个网站的想法
    IssueVision的PaneCaption控件源码分析
    技术研究的时候不要忘了“集成创新”
    人脸识别活体检测之张张嘴和眨眨眼
    jsp>Session 小强斋
    jsp>Request对象 小强斋
    jsp>四种作用域 小强斋
  • 原文地址:https://www.cnblogs.com/zhaiqianfeng/p/4616924.html
Copyright © 2011-2022 走看看