账户中心 退出系统
开发文档 资讯·分享 技术交流 会员登录
phpGrace GSCMS 公众号系统
缓存概述

缓存概述

在项目开发过程中我们经常会利用缓存来缓解数据查询、复杂运算带来的服务器压力以应对高并发!
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 返回缓存数据;

相关函数解析

cache($name, $impactData, $queryMethod, $expire)

功能 : 实现一个缓存过程并返回最终数据
参数 : 

* @param $name 缓存名称
* @param array $impactData 影响数据
* @param $queryMethod 缓存无效或者过期时动态获取数据的函数
* @param int $timer 缓存有效期

removeCache($name)

功能 : 删除指定缓存
参数 : $name 缓存名称

removeCaches($name)

功能 : 删除包含某个名称的多个缓存
参数 : array $name 缓存名称 [ 数组形式,可一次删除多个匹配 ]

功能 : 删除指定缓存
参数 : $name 缓存名称

clearCache()

功能 : 清空站点缓存

getList()

功能 : 获取缓存数据列表

此节为缓存功能相关的基础介绍,更多应用示例请阅读下面的章节。