文件缓存是把数据保存在硬盘上的一种缓存方式。可以在一定程度上减少数据库资源和处理器资源,但访问量大时会造成大量硬盘读写。
YurunPHP文件缓存功能支持原始数据存储和序列化数据存储。
原始数据存储一般用于需要include的缓存。
序列化数据存储支持存储字符串、数组等几乎所有类型的数据,并且可以设置有效时间,且支持防止数据泄露功能。
建议根据实际情况来选择合适的缓存方式。
## 相关配置项
#### CACHE_PATH
缓存目录文件夹名,默认为Cache
#### CACHE_EXT
缓存文件扩展名,默认为.php
## 方法
#### 写入缓存
~~~
Cache::set($cacheName, $value = null, $option = array(), $alias = null)
~~~
| 参数名 | 描述 |
| -- | -- |
| $cacheName | 缓存名称 |
| $value | 缓存数据 |
| $option | 额外参数 |
| $alias | 缓存驱动别名 |
~~~
// 缓存文件保存路径为【缓存目录/】,缓存文件内容是序列化的YurunPHP
Cache::set('yurun','YurunPHP');
// 缓存文件保存路径为【缓存目录/people/】,缓存文件内容是YurunPHP
Cache::set('people/yurun','YurunPHP',array('raw'=>1));
// 缓存文件有效期设为3600秒
Cache::set('yurun','YurunPHP',array('expire'=>3600));
~~~
#### 读取缓存
~~~
Cache::get($cacheName, $default = false, $option = array(), $alias = null)
~~~
| 参数名 | 描述 |
| -- | -- |
| $cacheName | 缓存名称 |
| $default | 缓存不存在或过期时返回的值,默认为false |
| $option | 额外参数 |
| $alias | 缓存驱动别名 |
~~~
// 获取缓存,如果不存在则返回YurunPHP
Cache::get('yurun','YurunPHP');
// 获取缓存文件真实内容
Cache::get('yurun','YurunPHP',array('raw'=>1));
// 缓存不存在时的回调,如果需要保存缓存需要手动调用Cache::set()方法
echo Cache::get('abc', function(){
return '返回内容';
});
~~~
#### 删除缓存
~~~
Cache::remove($cacheName, $option = array(), $alias = null)
~~~
| 参数名 | 描述 |
| -- | -- |
| $cacheName | 缓存名称 |
| $option | 额外参数 |
| $alias | 缓存驱动别名 |
~~~
Cache::remove('yurun');
~~~
#### 清空缓存目录
~~~
Cache::clear($alias = null)
~~~
| 参数名 | 描述 |
| -- | -- |
| $alias | 缓存驱动别名 |
~~~
Cache::clear();
~~~
#### 判断缓存是否存在
~~~
Cache::cacheExists($cacheName, $option = array(), $alias = null)
~~~
| 参数名 | 描述 |
| -- | -- |
| $cacheName | 缓存名称 |
| $option | 额外参数 |
| $alias | 缓存驱动别名 |
~~~
Cache::cacheExists('yurun');
~~~
- 序言
- 有些话想说
- 基础入门
- 简介
- 下载安装YurunPHP
- 运行环境
- 开发规范
- 目录结构
- 模块
- 控制器
- 自动加载
- 手动加载
- 项目配置
- 入口文件
- 项目目录结构
- 配置文件
- 驱动配置
- 数据库配置
- 项目初始化处理
- 框架编译
- 项目部署
- 控制器
- 创建控制器
- 加载模版显示页面
- AJAX返回数据
- 模型
- 创建模型
- 实例化模型
- 数据管理
- 连贯操作
- distinct
- field
- from
- where
- wherePk
- group
- having
- order
- limit
- join
- page
- headTotal/footTotal
- 连贯操作收尾方法
- select
- selectPage
- buildSQL
- selectValue
- selectBy
- getBy
- getByPk
- random
- inc
- dec
- add
- edit
- delete
- 合计函数
- save
- 执行SQL语句
- 创建数据并验证
- 字段映射
- 增删改查前置和后置
- Response类
- GET/POST/COOKIE/REQUEST
- Cookie
- Session
- 如何自定义Session存储
- 数据库操作
- 常用操作
- 查询记录
- 存储过程
- 数据库函数
- MSSQL
- 视图
- 调用视图
- 给视图传值
- 模版引擎
- 输出
- 使用PHP代码
- 模版标签
- if
- switch
- for
- counter
- foreach
- include
- js/css/image
- url
- origin
- 模版常量替换
- 后台视图控件
- 通用属性用法
- 数据集绑定
- 下拉框(select)
- 单选框(radio)
- 单选框组(radiogroup)
- 选择框(checkbox)
- 选择框组(checkboxgroup)
- 表格(table)
- 文本框(textbox)
- 分页条(pagebar)
- 数据验证
- 验证方法
- between
- betweenEqual
- empty_str
- not_empty_str
- regex
- length
- lengthChar
- mobile
- tel
- phone
- postcode
- url
- ip
- lt/gt/ltEqual/gtEqual
- equal/unequal
- in/notin
- idcard
- 路由
- 路由配置
- 自定义分层
- 缓存
- 缓存配置
- 使用缓存
- 配置
- 配置驱动配置
- 使用配置
- 过滤域名
- 日志
- 日志驱动配置
- 文件日志
- 事件
- 事件列表
- 插件
- 多语言支持
- 定时任务
- API接口开发
- CLI命令行模式
- Soap WebService