🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 缓存机制说明 ## **缓存机制说明** 在项目开发过程中我们经常会利用缓存来缓解数据查询、复杂运算带来的服务器压力以应对高并发! phpGrace 封装了简洁高效的缓存方案,支持文件、memcache、redis三种形式的缓存方式。 ## **设置缓存类型及相关配置 /phpGrace/config.php(全局配置)** ~~~ <?php return array(     ......     //支持的缓存类型     'allowCacheType'     => array('file', 'memcache', 'redis'),     //缓存设置     'cache'             => array(         'type'          => 'memcache', //支持类型 : file [文件型], memcache , redis         //以下配置为 memcache 及 redis 类型缓存的必须设置         'host'          => '127.0.0.1', //主机地址         'port'          => '11211',     //端口 memcache 一般端口为 11211, redis 一般为 6379         'pre'           => 'grace_'     //缓存变量前缀     ) ); ~~~ 统一规则的缓存操作方法【**控制器成员方法**】: **cache($name, $id = null, $queryMethod, $timer =3600, $isSuper = true)** php 控制器内置了统一的缓存处理函数 cache,此方法会动态的判断缓存的有效性,并根据实际情况去调用数据查询、运算等方法。 参数: ~~~ 1、缓存名称 2、影响id 【可以是字符串的组合】 3、数据车查询函数 4、有效期【可选参数,默认 3600秒】 5、是否为全局缓存【可选参数,默认 是】    【是】缓存名称格式:缓存前缀+缓存名称+影响id    【否】缓存名称格式:缓存前缀+控制器名称+方法名称+缓存名称+影响id ~~~ ## **调用:** 在控制器内容直接使用 cache 函数即可: ~~~ $this->cache('test', '1002abc', '__查询函数名称'); ~~~ **删除指定的缓存 removeCache($name, $id = null, $isSuper = true)** **参数:** ~~~ 1、缓存名称 2、影响id 3、是否全局 ~~~ ## **清空缓存 clearCache** 使用 clearCache 函数可以快速的情况所有缓存 ## **开发环境下一句代码关闭全部缓存** 在入口页面添加以下代码即可关闭所有缓存! ~~~ define('PG_CLOSE_CACHE', true); ~~~ 为什么要这样?? 您可以预先写好缓存代码,数据在开发时是实时的,当开发完成、测试完毕删除这行代码,服务器端就可以完美运行在缓存环境下了 ^\_^