缓存配置及使用
缓存概述
在项目开发过程中我们经常会利用缓存来缓解数据查询、复杂运算带来的服务器压力以应对高并发!ZOSphp 提供了简洁高效的缓存方案,支持文件、memcache、redis三种形式的缓存方
设置缓存类型及相关配置
配置文件位置:config/config.php
<?php
return [
// 缓存设置
'cache' => [
'type' => 'file',//支持file, memcache, redis缓存类型
'host' => '127.0.0.1', // 主机地址 [ 'memcache', 'redis' 需要设置 ]
'password' => '', // 对应各类服务的密码, 为空代表不需要密码
'port' => '6379', // 端口 memcache 一般端口为 11211, redis 一般为 6379
'pre' => 'ue_'// 缓存变量前缀
]
];
缓存使用
统一规则的缓存操作方法【控制器成员方法】:cache($name, $queryMethod, $id = null, $timer =3600, $isSuper = true)
php 控制器内置了统一的缓存处理函数 cache,此方法会动态的判断缓存的有效性,并根据实际情况去调用数据查询、运算等方法。参数:
- 缓存名称 : 请使用规范的英文字母+数字+下划线进行命名
- 操作函数
- 影响id : 可以是字符串的组合, 也可以试一个一维数组
- 有效期【可选参数,默认 3600秒】
-
是否为全局缓存【可选参数,默认 是】
【是】缓存名称格式:缓存前缀+缓存名称+影响id
【否】缓存名称格式:缓存前缀+控制器名称+方法名称+缓存名称+影响id
调用
$this->cache('test', '__查询函数名称','123456');
删除的缓存
方法:delCache($name, $id = null, $isSuper = true)
- 缓存名称 : 请使用规范的英文字母+数字+下划线进行命名//当name=*时,则清空全部缓存
- 影响id : 可以是字符串的组合, 也可以试一个一维数组
- 是否全局
$this->delCache('test','123456');//删除指定缓存
$this->delCache('*');//删除全部缓存
开发环境下一句代码关闭全部缓存
在入口页面添加以下代码即可关闭所有缓存!
define('Z_CACHE', true);
您可以预先写好缓存代码,数据在开发时是实时的,当开发完成、测试完毕删除这行代码,服务器端就可以完美运行在缓存环境下了 ^_^