缓存组件配置在config\main.php文件,简单配置下文件缓存

'components'=>array(
'cache' => array(
'class' => 'system.caching.CFileCache'
),
),

文件缓存默认的缓存路径是runtime\cache目录下

class标识需要使用的缓存媒介,支持下列类型等:

CMemCache: 使用 PHP memcache 扩展
CApcCache: 使用 PHP APC 扩展
CDbCache: 使用一张数据库表来存储缓存数据
CFileCache: 使用文件来存储缓存数据. 特别适用于大块数据(例如页面)

 操作语法:

 设置缓存:Yii::app()->cache->set(缓存名, 缓存值, 过期时间);
获取缓存:Yii::app()->cache->get(缓存名);
删除单个缓存:Yii::app()->cache->delete(缓存名);
清空缓存:Yii::app()->cache->flush();

 多条件查询缓存示例demo:

     public function actionTest(){
$where = 20190328;
//$where = 20190401;//示例查询条件
$cacheName = 'dayData';//缓存名称
$dayData = [];//缓存值
$key = $where;//缓存key生成 $dayData = Yii::app()->cache->get($cacheName);
if (!empty($dayData['date'])) {
if ($dayData['date'] != $where) {//缓存与查询条件判断
Yii::app()->cache->delete($cacheName);
}
} else {//设置缓存的日期
$dayData['date'] = $where;
Yii::app()->cache->set($cacheName, $dayData, 60 * 60);
} $dayData = Yii::app()->cache->get($cacheName);//获取最新缓存
if (empty($dayData['test'][$key])) {//判断缓存与否
$dayData['test'][$key] = '测试数据' . $where;
Yii::app()->cache->set($cacheName, $dayData, 60 * 60);
}
var_dump($dayData['test'][$key]);
}

yii 1.1简单文件缓存的更多相关文章

  1. nilcms file类 简单文件缓存实现

    实现简单的文件缓存,参照CI的部分设计,在这里记录一下子. class File { const CACHE_PATH = 'nil_file_cache'; /*其他函数省略了*/ /** * 获取 ...

  2. 文件缓存tmpfs简单使用

    文件缓存tmpfs基于内存的文件系统,直接使用ram(物理内存)+swap(交换分区) tmpfs缓存文件系统/dev/shm共享内存动态的使用虚拟内存,文件删除后释放内存 特性:1.动态空间使用和动 ...

  3. 高性能文件缓存key-value存储—Redis

    1.高性能文件缓存key-value存储-Memcached 2.ASP.NET HttpRuntime.Cache缓存类使用总结 备注:三篇博文结合阅读,简单理解并且使用,如果想深入学习,请多参考文 ...

  4. php使用文件缓存

    使用php读取mysql中的数据很简单,数据量不大的时候,mysql的性能还是不错的.但是有些查询可能比较耗时,这时可以把查询出的结果,缓存起来,减轻mysql的查询压力. 缓存的方法有几种:使用me ...

  5. 高性能文件缓存key-value存储—Memcached

    1.高性能文件缓存key-value存储—Redis 2.ASP.NET HttpRuntime.Cache缓存类使用总结 备注:三篇博文结合阅读,简单理解并且使用,如果想深入学习,请多参考文章中给出 ...

  6. app缓存设计-文件缓存

    采用缓存,可以进一步大大缓解数据交互的压力,又能提供一定的离线浏览.下边我简略列举一下缓存管理的适用环境: 1. 提供网络服务的应用 2. 数据更新不需要实时更新,哪怕是3-5分钟的延迟也是可以采用缓 ...

  7. phpcms 源码分析五:文件缓存实现

    这次是逆雪寒的文件缓存实现代码分析: /* [/php] PHPCMS的文本缓存实现: [php] <?php /* 这个文件里面全是有关生成文本缓存的函数.文本缓存是个好东西.一般的项目,我们 ...

  8. js文件缓存之版本管理

    以前也做过不少项目,但从来就没有把关注的目光投向过js文件缓存.最近终于在毫无意识的情况下跳进了这个大坑. 近几个月来的工作是一个交易系统持续改进项目,迭代发布周期大约为2~3周.最近一次迭代是V16 ...

  9. C#之文件缓存

    写在开头 今天就放假了,照理说应该写今年的总结了,但是回头一看,很久没有写过技术类的文字了,还是先不吐槽了. 关于文件缓存 写了很多的代码,常常在写EXE(定时任务)或者写小站点(数据的使用和客户端调 ...

随机推荐

  1. phpstorm 不能选择 php language level

    最近需要更改phpstorm中的php language level发现更改不了 解决方法是在PHP 下面的Composer中勾选了同步 composer php版本的原因 取消勾选,点击应用就可以了

  2. 弹出ifream

      top.$.jBox("iframe:"+'${ctx}/synopsis/hmlwxSynopsis/addItem', {title: "添加作品",w ...

  3. css 空心圆

    用css实现一个空心圆,并始终放置在浏览器窗口左下角        div{                position:fixed;                bottom:0;      ...

  4. Vue组件学习(转载)

    什么是组件:组件是Vue.js最强大的功能之一.组件可以扩展HTML元素,封装可重用的代码.在较高层面上,组件是自定义的元素,Vue.js的编译器为它添加特殊功能.在有些情况下,组件也可以是原生HTM ...

  5. qt tableview里面添加控件

    在QStyledItemDelegate的paint方法里面 void MyItemModelDeletage::paint(QPainter *painter, const QStyleOption ...

  6. luogu P2481 [SDOI2010]代码拍卖会

    luogu 题目中的那个大数一定是若干个1+若干个2+若干个3...+若干个9组成的,显然可以转化成9个\(\underbrace {111...1}_{a_i个1}(0\le a_1\le a_2\ ...

  7. fullpage实现(-)

    在线demo还没弄好,地址先给出来

  8. NSUserDefaults的用法

    NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名.密码之类的,个人觉得使用NSUserDefaults是首选.下次再登陆的时候就可以直接从NSUserDefa ...

  9. 使用django+rpc进行服务内部交互

    一.为什么使用rpc. 1)相比uwsgi,使用rpc的长连接可以不需要频繁创建连接,提高传输效率. 2)rpc支持同步和异步,对于不需要等待返回的消息可以不等待返回继续运行,减少客户端等待时间. 3 ...

  10. Web Api 接口测试工具:Swagger

    前言:WebApi接口开发完毕后,交付给前端人员或手机端开发者时接口说明文档是必不可少的配套设备,如果公司流程不规范大家使用口口相传的交接方式,而且没有改进的欲望,那你可以到此为止了.Swagger是 ...