缓存组件配置在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. Luogu P1650 田忌赛马

    题目 如果我们最大比对面最大大,那么直接用. 如果我们最小比对面最小大,那么直接用. 否则用我们最小去换对面最大. #include<bits/stdc++.h> using namesp ...

  2. vue-cli3.0本地代理cookie跨域请求Nginx配置

    由于后端需要通过请求取前端中的cookie信息,在本地开发模式中,直接请求接口,后端无法拿到前端cookie数据, 经测试需在 vue-cli 中使用代理,如果使用Nginx做反向代理需同时修改Ngi ...

  3. 通过web.xml监听器启动main方法

    web.xml中添加要启动的类 <listener> <listener-class>server.NettyServer</listener-class> < ...

  4. HTTPS到底是什么

    Http存在的问题   上过网的朋友都知道,网络是非常不安全的.尤其是公共场所很多免费的wifi,或许只是攻击者的一个诱饵.还有大家平时喜欢用的万能钥匙,等等.那我们平时上网可能会存在哪些风险呢?   ...

  5. js变量的作用域与函数作用域

    引自 1. 变量的作用域(var与let的区别) 在函数之外声明的变量,叫做全局变量,因为它可被当前文档中的任何其他代码所访问.在函数内部声明的变量,叫做局部变量,因为它只能在当前函数的内部访问. E ...

  6. var与let变量for遍历的问题

    var Liarry = document.getElementsByTagName('li'); /**方法一*描述:自执行函数,将变量当参数传入(闭包的思想,保存当前的值).*/ for (var ...

  7. thinkphp+webuploader实现大文件分片上传

    大文件分片上传,简单来说就是把大文件切分为小文件,然后再一个一个的上传,到最后由这些小文件再合并成原来的文件 webuploader下载地址及其文档:http://fex.baidu.com/webu ...

  8. Delphi简介

  9. crontab定时执行shell脚本

    步骤一    首先我们先看一下是否安装了crontab.一般情况下linux系统会自带crontab及crond.如果没有安装,请使用以下指令安装:yum install vixie-cron     ...

  10. angularjs 结构的两种写法(2)

    app.js里面 route.js 本项目中的路由写法,路由的意思是:对应的跳转页面路径,比如此处当路由是member.user-statisttic时,是会跳转到url:http://.../use ...