yii 1.1简单文件缓存
缓存组件配置在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简单文件缓存的更多相关文章
- nilcms file类 简单文件缓存实现
实现简单的文件缓存,参照CI的部分设计,在这里记录一下子. class File { const CACHE_PATH = 'nil_file_cache'; /*其他函数省略了*/ /** * 获取 ...
- 文件缓存tmpfs简单使用
文件缓存tmpfs基于内存的文件系统,直接使用ram(物理内存)+swap(交换分区) tmpfs缓存文件系统/dev/shm共享内存动态的使用虚拟内存,文件删除后释放内存 特性:1.动态空间使用和动 ...
- 高性能文件缓存key-value存储—Redis
1.高性能文件缓存key-value存储-Memcached 2.ASP.NET HttpRuntime.Cache缓存类使用总结 备注:三篇博文结合阅读,简单理解并且使用,如果想深入学习,请多参考文 ...
- php使用文件缓存
使用php读取mysql中的数据很简单,数据量不大的时候,mysql的性能还是不错的.但是有些查询可能比较耗时,这时可以把查询出的结果,缓存起来,减轻mysql的查询压力. 缓存的方法有几种:使用me ...
- 高性能文件缓存key-value存储—Memcached
1.高性能文件缓存key-value存储—Redis 2.ASP.NET HttpRuntime.Cache缓存类使用总结 备注:三篇博文结合阅读,简单理解并且使用,如果想深入学习,请多参考文章中给出 ...
- app缓存设计-文件缓存
采用缓存,可以进一步大大缓解数据交互的压力,又能提供一定的离线浏览.下边我简略列举一下缓存管理的适用环境: 1. 提供网络服务的应用 2. 数据更新不需要实时更新,哪怕是3-5分钟的延迟也是可以采用缓 ...
- phpcms 源码分析五:文件缓存实现
这次是逆雪寒的文件缓存实现代码分析: /* [/php] PHPCMS的文本缓存实现: [php] <?php /* 这个文件里面全是有关生成文本缓存的函数.文本缓存是个好东西.一般的项目,我们 ...
- js文件缓存之版本管理
以前也做过不少项目,但从来就没有把关注的目光投向过js文件缓存.最近终于在毫无意识的情况下跳进了这个大坑. 近几个月来的工作是一个交易系统持续改进项目,迭代发布周期大约为2~3周.最近一次迭代是V16 ...
- C#之文件缓存
写在开头 今天就放假了,照理说应该写今年的总结了,但是回头一看,很久没有写过技术类的文字了,还是先不吐槽了. 关于文件缓存 写了很多的代码,常常在写EXE(定时任务)或者写小站点(数据的使用和客户端调 ...
随机推荐
- 在(U)EFI环境下重装Grub2
本文链接:https://blog.csdn.net/ytingone/article/details/59209526 前段时间重装了系统,导致Grub2的引导消失,所以现在需要进行恢复. 首先需要 ...
- springboot中model,modelandview,modelmap的区别与联系
springboot 中Model,ModelAndView,ModelMap的区别与联系 Model是一个接口,它的实现类为ExtendedModelMap,继承ModelMap类 public c ...
- java复习(3)继承
一.继承为题的提出 ---------------------------------------------------- 我们知道面向对象的三大特性是:封装.继承和多态,可以知道继承在java应用 ...
- 利用ios safari浏览器生成桌面快捷方式并唤醒app的示例代码
html 内容: //通过a链接唤醒app <a href="app约定好的scheme" id="qbt" style="display:n ...
- MWPhotoBrowser.bundle: bundle format unrecognized, invalid, or unsuitable
今天在github下载了MWPhotoBrowser的demo想跑一下,却发现报了MWPhotoBrowser.bundle: bundle format unrecognized, invalid, ...
- 2019-11-29-win10-uwp-如何开始写-uwp-程序
title author date CreateTime categories win10 uwp 如何开始写 uwp 程序 lindexi 2019-11-29 10:12:42 +0800 201 ...
- 【TensorFlow探索之一】MNIST的初步尝试
最近在学习TensorFlow,尝试的第一个项目是MNIST.首先给出源码地址. 1 数据集的获取 我们可以直接运行下面的代码,来获取到MNIST的数据集. from tensorflow.examp ...
- C++ ->error LNK1123
终极解决方案:VS2010在经历一些更新后,建立Win32 Console Project时会出“error LNK1123” 错误,解决方案为将 项目|项目属性|配置属性|清单工具|输入和输出|嵌入 ...
- GetShortPathName函数
Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathName" (ByVal ...
- Linux日常之数据重定向
Linux在启动后,会默认打开3个文件操作符,分别是 (1)标准输入0,standard input (2)正确输出1,standard output (3)错误输出2,standard error ...