thinkphp 缓存驱动
缓存驱动默认位于Think\Cache\Driver命名空间下面,目前已经提供了包括APC、Db、Memcache、Shmop、Sqlite、Redis、Eaccelerator和Xcache缓存方式的驱动扩展,缓存驱动必须继承Think\Cache类,并实现下面的驱动接口:
| 方法说明 | 接口方法 |
|---|---|
| 架构方法 | __construct($options='') |
| 读取缓存 | get($name) |
| 写入缓存 | set($name,$value,$expire=null) |
| 删除缓存 | rm($name) |
| 清空缓存 | clear() |
下面是一个典型的缓存驱动类定义:
namespace Think\Cache\Driver;use Think\Cache;/*** Test缓存驱动*/class Test extends Cache {/*** 读取缓存* @access public* @param string $name 缓存变量名* @return mixed*/public function get($name) {// 获取名称为name的缓存}/*** 写入缓存* @access public* @param string $name 缓存变量名* @param mixed $value 存储数据* @param integer $expire 有效时间(秒)* @return boolean*/public function set($name, $value, $expire = null) {// 设置缓存}/*** 删除缓存* @access public* @param string $name 缓存变量名* @return boolean*/public function rm($name) {// 删除名称为name的缓存}/*** 清除缓存* @access public* @return boolean*/public function clear() {// 清空缓存}}
注意:缓存驱动的有效期参数约定,如果设置为0 则表示永久缓存。
如果要让缓存驱动支持缓存队列功能,需要在缓存接口的set操作方法设置成功后添加如下代码:
if($this->options['length']>0) {// 记录缓存队列$this->queue($name);}
要配置当前默认的缓存驱动类型可以使用CACHE_TYPE参数,例如:
'DATA_CACHE_TYPE'=>'test'
浙公网安备 33010602011771号