$_MooCacheConfig = array
(
'index' => array('settings', 'cacheKey'),
'category' => array('category'),
'cacheFile' => array('cacheKey')
);
说明:表示缓存index中有settings和cacheKey,缓存category中只有category,缓存cacheFile中只有cacheKey。
MooGetCache_cacheName为自定义的返回需要缓存的数据的函数。例如
function MooGetCache_cacheKey() {
return $GLOBALS['_MooClass']['MooMySQL']->getAll("SELECT * FROM moophp_test WHERE id=id ORDER BY id DESC LIMIT 0, 5");
}
===== 方法getBlock =====
/**
*获取Block数据
*
* @param char $param: 参数字符串
* @return void
*/
function getBlock($param){
}
该方法可以根据参数param判断要获取的block的类型以及是否需要更新缓存,并将block数据存入全局变量$_MooBlock[]中。
===== 方法getBlockCache =====
/**
*根据获取cachekey获取block数据
*
* @param char $cachekey: 要获取的block的cachekey
* @return array $cache:以数组的形式返回缓存的数据
*/
function getBlockCache($param){
}
该方法可以根据cachekey获取block数据,并以数组的形式返回缓存的数据
===== 方法parseParameter =====
/**
*解析方法getBlock需要的参数
*
* @param char $param: 要解析的参数字符串
* @return array $paramarr:以数组的形式返回解析后的参数
*/
parseParameter($param) {
}
该方法可以为方法getBlock解析需要的参数,并以数组的形式的返回。
===== 方法setBlockCache =====
/**
*将要缓存的数据序列化之后写入缓存文件
*
* @param char $cacheKey: 缓存的key
* @param char $cacheArray: 要缓存的数据
* @return void
*/
setBlockCache ($cacheKey, $cacheArray) {
}
该方法可以为将要缓存的数据序列化之后写入到缓存文件。
===== 方法arrayEval =====
/**
*将一个数组转为字符串的形式
*
* @param array $array: 要输出的数组
* @param int $level:要输出的数组的级数
* @return char $evaluate:转换后的字符串
*/
function arrayEval($array, $level){
}
该方法可以将一个数组转换成字符串的形式,已方便写入缓存文件。
===== 方法setCache =====
/**
*通过缓存文件更新缓存
*
* @param char $cacheFile: 要更新的缓存文件的名称
* @return void
*/
function setCache($array, $level){
}
该方法可以根据缓存文件的名称来更新缓存。
===== 方法setCacheBykey =====
/**
*通过缓存key更新缓存
*
* @param char $cacheKey: 要更新的缓存key的名称
* @return void
*/
function setCacheByKey($cacheKey){
}
该方法可以根据缓存key的名称来更新缓存。因为一个缓存可能存在于多个缓存文件中,这时候你如果想要更新一个缓存的话,就可以用缓存key来更新所有的缓存文件。
===== 方法writeCache =====
/**
*将缓存数据写入缓存文件中
*
* @param char $cacheFile: 缓存文件的地址
* @param char $cacheContent:缓存的数据
* @return void
*/
Function writeCache($cacheFile, $cacheContent) {
}
该方法可以将需要缓存的数据写入缓存文件。
===== 综合使用方法样例 =====
//note 定义缓存目录,如果不定义缓存目录的话,将会使用默认路径,默认路径是与框架核心文件夹平级的Moo-data文件夹
define('MOOPHP_DATA_DIR', dirname(__FILE__).'/Moo-data');
//note 加载MooPHP框架
require dirname(__FILE__).'/../../MooPHP/MooPHP.php';
//note 通过缓存文件更新缓存
$_MooClass['MooCache']->setCache('cacheFile');
//note 通过缓存key更新缓存
$_MooClass['MooCache']->setCacheByKey('cacheKey');
//note 缓存需要加密的数据
$_MooClass['MooCache']->getBlock("type=query/name=newbloglist/sql=SELECT * FROM moophp_blogs ORDER BY id DESC/cachetime=2000");
//note 输出通过block缓存的数据
foreach((array)$_MooBlock['newbloglist'] as $blog) {
print_r($blog);
}
//note 加载缓存
include MooCacheFile('cacheFile');
echo '';
print_r($_MooCache);
echo '
';