文章分页:
基本方法
本框架的缓存调用方法通过代理的模式实现多接口、多模式调用,具体声明方式详见代理类说明。
相关方法如下:
构造方法
$mycache = new myCache($module, $setting, $gc_rate)
init 同时也是本类的构造方法,本方法包含三个参数
- $module - 为对应缓存功能类名称,建议对应到 lib/cache/{$module}.class.php 文件;
- $setting - 为对应缓存功能的设置参数,将直接传递给对应的功能类;
- $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 {
......
}