在项目开发过程中我们经常会利用缓存来缓解数据查询、复杂运算带来的服务器压力以应对高并发!
phpGrace 封装了简洁且全面的缓存支持方案,支持文件、redis 2种形式的缓存方式,您可以利用它们开发出极其高效的缓存模块,实现完美的高并发应对机制;
phpGrace 封装了的缓存方式是比较有特点的,框架缓存以变量为单位进行缓存,相比传统的整页缓存这种方式更灵活、更可控!比如 : 某个新闻详情的缓存、新闻列表的缓存,当后台发布新的新闻,引发数据变化时我们可以精准地找到对应缓存并删除他们,达到了既能使用缓存又不被缓存影响的目的~
// 配置文件位置 : /appConfig/站点目录/base.php [ 一个站点一种缓存模式 ] /*** 缓存配置 ***/ 'cache' => array( //缓存类型 目前支持 file [ 文件型 ] , redis [ 利用 redis 服务器存储缓存 ] 'type' => 'file', // 主机地址 [ 文件型可忽略 ] 'host' => '127.0.0.1', // 端口 [ 文件型可忽略 ] 'port' => '6379', // redis 服务验证密码 [ 文件型可忽略 ] 'password' => '123456' ),
完成缓存配置后,您就可以以以下形式使用缓存 :
1 在控制器、模型、自定义类内获取缓存对象;
2 使用 $缓存对象->cache() 方法实现数据缓存;
3 使用 $缓存对象->其他() 方法实现缓存删除、查询、清空等方法;
具体使用流程详解下面的章节。
1 组合缓存名称及影响数据获得最终缓存名称;
2 根据缓存名称在对应缓存服务中获取缓存数据;
3 获取成功直接返回缓存数据,获取失败则调用缓存获取函数获取数据并记录到缓存服务;
4 返回缓存数据;
功能 : 实现一个缓存过程并返回最终数据
参数 :
* @param $name 缓存名称 * @param array $impactData 影响数据 * @param $queryMethod 缓存无效或者过期时动态获取数据的函数 * @param int $timer 缓存有效期
功能 : 删除指定缓存
参数 : $name 缓存名称
功能 : 删除包含某个名称的多个缓存
参数 : array $name 缓存名称 [ 数组形式,可一次删除多个匹配 ]
功能 : 删除指定缓存
参数 : $name 缓存名称
功能 : 清空站点缓存
功能 : 获取缓存数据列表
此节为缓存功能相关的基础介绍,更多应用示例请阅读下面的章节。