账户中心 我的话题 我的评论 退出系统

phpGrace 缓存机制说明

phpGrace 缓存机制说明
在项目开发过程中我们经常会利用缓存来缓解数据查询、复杂运算带来的服务器压力以应对高并发!
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_',     // 缓存变量前缀
        'name2md5'             => FALSE          // 为 true 时会将缓存变量名进行md5 加密
    )
);


统一规则的缓存操作方法【控制器成员方法】:
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);

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