缓存管理
文章分页:
基本方法

本框架的缓存调用方法通过代理的模式实现多接口、多模式调用,具体声明方式详见代理类说明

相关方法如下:

构造方法

$mycache = new myCache($module, $setting, $gc_rate)

init 同时也是本类的构造方法,本方法包含三个参数

  1. $module - 为对应缓存功能类名称,建议对应到 lib/cache/{$module}.class.php 文件;
  2. $setting - 为对应缓存功能的设置参数,将直接传递给对应的功能类;
  3. $gc_rate - 垃圾回收机制,激发缓存功能类中 clean 方法的概率,最大为1,默认为 0.1
更换功能类

$mycache->change($module, $setting)

关闭现有功能类,并切换到新的模块 ,相关参数意义同上

设置缓存

$mycache->set($key, $value, $ttl)

将需要存储的内容($value),存储到某索引($key)下,生存周期为 $ttl

获取缓存

$mycache->get($key)

取得对应某索引($key)的缓存值,如不存在则返回false

移除缓存

$mycache->remove($key)

删除对应某索引($key)的缓存值

清除缓存

$mycache->clean()

清除当前所有过期缓存的资源占用

查询缓存

$mycache->getData($query, $mode, $ttl)

调用数据库类实例,存储某一查询语句所生成的结果,$mode可以为单项(result)、单条(record)或全部(all),保存时间为 $ttl

函数缓存

$mycache->getData_func($func, $args, $ttl)

存储某复杂运算函数($func)的运算结果,$args 为函数的参数,保存时间为 $ttl

 

别名调用

为便于开发,本类默认别名定义如下:

$func_alias = array(  
    's' => 'set',  
    'g' => 'get',  
    'r' => 'remove',  
    'c' => 'clean',  
    'db' => 'getData',  
    'func' => 'getData_func',  
);

本类的别名为 c ,也就是 c::g('idx') 等效于 myCache::get('idx'),功能类和方法的别名设置,请见专题介绍。

 

接口规范

为保证所有被代理缓存库类都具有同样的基础结构,需通过自定义接口规范,如下:

<?PHP  
interface interface_cache {  
    public function set($key, $value, $ttl);  
    public function get($key);  
    public function remove($key);  
    public function clean();  
}

所有缓存功能类均需要包含以上四个方法,声明方式如下:

class myCache_modename implements interface_cache {  
    ......  
}

 

上一篇:字符串操作
下一篇:其他模块