/**
 * 读取缓存,并将缓存加载至 $_W 全局变量中
 * @param string $key 缓存键名,如果键名以:结束,则做为分组名称读取所有缓存
 *
 */
function cache_load($key, $unserialize = false)
{
    global $_W;
    if (substr($key, -1) == ':') {
        $data = cache_search($key);
        foreach ($data as $k => $v) {
            $tmp =& cache_global($k);
            $tmp = $unserialize ? iunserializer($v) : $v;
        }
        return cache_global($key);
    } else {
        $data = cache_read($key);
        if ($key == 'setting') {
            $_W['setting'] = $data;
            return $_W['setting'];
        } elseif ($key == 'modules') {
            $_W['modules'] = $data;
            return $_W['modules'];
        } else {
            $tmp =& cache_global($key);
            $tmp = $unserialize ? iunserializer($data) : $data;
            return $unserialize ? iunserializer($data) : $data;
        }
    }
}
Example #2
0
function cache_clean($prefix = '') {
	global $_W;
	if(empty($prefix)) {
		$sql = 'DELETE FROM ' . tablename('cache');
		$result = pdo_query($sql);
		if($result) {
			unset($_W['cache']);
		}
	} else {
		$sql = 'DELETE FROM ' . tablename('cache') . ' WHERE `key` LIKE :key';
		$params = array();
		$params[':key'] = "{$prefix}:%";
		$result = pdo_query($sql, $params);
		if($result) {
			$tmp = &cache_global($key);
			$tmp = null;
		}
	}
	return $result;
}