/** * 读取缓存,并将缓存加载至 $_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; } } }
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; }