在codeigniter中使用Cache_Lite来缓存
最近在做一个小项目,利用到了Codeigniter 这个框架,主要是看重他小巧、方便、快捷,文档齐全。在MVC处理上十分灵活。尤其是model模型,与Zend_Db_Table相比虽然简化,但是十分方便。
codeigniter的功能纵然强大,也有不足之处。其cache模式在于针对不同的uri就会生成cache文件,如果URL中参数不同,则cache文件就会不同,从而产生了漏洞。如果访问者构建自动生成URI,不断向服务器发起请求,就会瞬间产生大量的垃圾文件,导致系统文件臃肿。
因此如果要用到cache功能就必须找到第三方的开发库。Pear中,Cache_Lite属于较为轻量级的缓存系统,且功能强大,可以作为CI原生cache的替代品,将其加入自定义的library文件即可完成。
步骤如下:
- 下载Cache_Lite
下载地址:http://download.pear.php.net/package/Cache_Lite-1.7.7.tgz - 配置以及使用
解压缩后,将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);
转载于:https://www.cnblogs.com/zhaiqianfeng/archive/2012/07/20/4616924.html
在codeigniter中使用Cache_Lite来缓存相关推荐
- 利用 Cache_Lite代替codeigniter中的cache功能
codeigniter的功能纵然强大,也有不足之处.其cache模式在于针对不同的uri就会生成cache文件,如果URL中参数不同,则 cache文件就会不同,从而产生了漏洞.如果访问者构建自动生成 ...
- ci mysql 缓存_CodeIgniter框架中启用和清除缓存的教程
CodeIgniter框架启动与缓存问题许多的新手都不知道如何来操作了,下面我们就一起来看一篇关于CodeIgniter框架中启用和清除缓存例子,具体如下所示. Codeigniter支持缓存技术,以 ...
- springboot整个缓存_SpringBoot中整合Redis(缓存篇)
实际开发中缓存处理是必须的,不可能我们每次客户端去请求一次服务器,服务器每次都要去数据库中进行查找,为什么要使用缓存?说到底是为了提高系统的运行速度.将用户频繁访问的内容存放在离用户最近,访问速度最快 ...
- spring-boot的spring-cache中的扩展redis缓存的ttl和key名
原文地址:spring-boot的spring-cache中的扩展redis缓存的ttl和key名 前提 spring-cache大家都用过,其中使用redis-cache大家也用过,至于如何使用怎么 ...
- php ci model条件查询,php – CodeIgniter中的多条件WHERE子句
我想删除一些像核心PHP中的查询这样的数据 WHERE user_id=$id AND sender_id=$send_id OR user_id=$send_id AND sender_id=$id ...
- linux nginx http cache时间不对,Linux中Nginx设置proxy_cache缓存与取消缓存-linux-操作系统-壹...
本文章来讲述一下关于Linux中Nginx设置proxy_cache缓存与取消缓存实现方法,有需要的朋友可参考. 在配置文件的server{}内,添加这么一句即可: 代码如下 复制代码 locatio ...
- php $db-gt;query 行数,php – 如何在CodeIgniter中组合query()和limit()方法
是否可以在codeigniter中执行类似的操作: publi function getcat($category_id) { $query = "(SELECT cat.id, cat.t ...
- java中一级缓存_java – 集群环境中的hibernate一级缓存
您的第一个语句不正确,hibernate中的第一级缓存不在同一JVM的边界内维护.它保持在休眠会话的边界内. Hibernate分别处理会话(会话中的实体,这是第一级缓存),即使在同一个jvm中, ...
- Android 系统(173)---Android中图片的三级缓存
Android中图片的三级缓存 为什么要使用三级缓存 如今的 Android App 经常会需要网络交互,通过网络获取图片是再正常不过的事了 假如每次启动的时候都从网络拉取图片的话,势必会消耗很多流量 ...
最新文章
- springboot日志logback配置
- python 会计专用格式_python-2.7 – 如何使用xlsxwriter将格式应用为“文本”和“会计”...
- REVERSE-PRACTICE-BUUCTF-9
- Linux地图投影Proj4应用,Proj.4简介与使用
- Python计算机视觉中译本实例代码/数据集
- python api接口调用_python 调用有道api接口的方法
- rap2检测哪些接口在使用_使用四合一气体检测仪应注意哪些方面?-逸云天
- Linux 之 CentOS 7.2 安装 Java JDK
- 思科交换机配置远程登录命令
- 第三章 灰度变换与空间滤波
- 微信小程序获取页面高度
- 持久化模型_建立领域模型-持久性不可知论简介
- document.documentElement对象
- 搭建CTPN网络(基于windows与tensorflow)
- MatLab常见函数和运算符号
- 什么是私约、助记词和密码?
- 后端技术杂谈10:Docker 核心技术与实现原理
- 申请专利流程及费用。
- eas库存状态调整单不能反审核_EAS供应链系统常见问题
- 不用装闭路电视就可以看CCTV1-10频道电视,在线随心换台包你满意
热门文章
- OpenCV--cvScaler颜色赋值
- Ubuntu搜狗输入法安装
- Yocto Project - basic - 01 - Quick Start
- v-model双向绑定原理_【Vue原理】VModel 白话版
- groovy怎样从sql语句中截取表名_SQl-查询篇
- python数据框的横向贾总_[Spark][Python]DataFrame的左右连接例子
- 数组翻转_LeetCode刷题实战151:翻转字符串里的单词
- android 输入法如何启动流程_android输入法02:openwnn源码解析01—输入流程
- android ndk 文件管理,Android NDK开发指南(二)Android.mk文件
- git 命令行忽略提交_git命令入门(本地仓库)