缓存配置及使用


缓存概述

在项目开发过程中我们经常会利用缓存来缓解数据查询、复杂运算带来的服务器压力以应对高并发!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,此方法会动态的判断缓存的有效性,并根据实际情况去调用数据查询、运算等方法。参数:

  1. 缓存名称 : 请使用规范的英文字母+数字+下划线进行命名
  2. 操作函数
  3. 影响id : 可以是字符串的组合, 也可以试一个一维数组
  4. 有效期【可选参数,默认 3600秒】
  5. 是否为全局缓存【可选参数,默认 是】
    【是】缓存名称格式:缓存前缀+缓存名称+影响id
    【否】缓存名称格式:缓存前缀+控制器名称+方法名称+缓存名称+影响id

调用

				
$this->cache('test', '__查询函数名称','123456');
				
			

删除的缓存

方法:delCache($name, $id = null, $isSuper = true)

  1. 缓存名称 : 请使用规范的英文字母+数字+下划线进行命名//当name=*时,则清空全部缓存
  2. 影响id : 可以是字符串的组合, 也可以试一个一维数组
  3. 是否全局
				
$this->delCache('test','123456');//删除指定缓存
$this->delCache('*');//删除全部缓存
				
			

开发环境下一句代码关闭全部缓存

在入口页面添加以下代码即可关闭所有缓存!

				
define('Z_CACHE', true);
				
			

您可以预先写好缓存代码,数据在开发时是实时的,当开发完成、测试完毕删除这行代码,服务器端就可以完美运行在缓存环境下了 ^_^