Michael Save
12 years ago
2 changed files with 136 additions and 136 deletions
@ -1,112 +1,113 @@ |
|||||
<?php |
<?php |
||||
class Cache { |
|
||||
private static $cache; |
class Cache { |
||||
public static function init() { |
private static $cache; |
||||
global $config; |
public static function init() { |
||||
|
global $config; |
||||
switch($config['cache']['enabled']) { |
|
||||
case 'memcached': |
switch($config['cache']['enabled']) { |
||||
self::$cache = new Memcached(); |
case 'memcached': |
||||
self::$cache->addServers($config['cache']['memcached']); |
self::$cache = new Memcached(); |
||||
break; |
self::$cache->addServers($config['cache']['memcached']); |
||||
case 'php': |
break; |
||||
self::$cache = Array(); |
case 'php': |
||||
break; |
self::$cache = Array(); |
||||
} |
break; |
||||
} |
} |
||||
public static function get($key) { |
} |
||||
global $config, $debug; |
public static function get($key) { |
||||
|
global $config, $debug; |
||||
$key = $config['cache']['prefix'] . $key; |
|
||||
|
$key = $config['cache']['prefix'] . $key; |
||||
$data = false; |
|
||||
switch($config['cache']['enabled']) { |
$data = false; |
||||
case 'memcached': |
switch($config['cache']['enabled']) { |
||||
if(!self::$cache) |
case 'memcached': |
||||
self::init(); |
if(!self::$cache) |
||||
$data = self::$cache->get($key); |
self::init(); |
||||
break; |
$data = self::$cache->get($key); |
||||
case 'apc': |
break; |
||||
$data = apc_fetch($key); |
case 'apc': |
||||
break; |
$data = apc_fetch($key); |
||||
case 'xcache': |
break; |
||||
$data = xcache_get($key); |
case 'xcache': |
||||
break; |
$data = xcache_get($key); |
||||
case 'php': |
break; |
||||
$data = isset(self::$cache[$key]) ? self::$cache[$key] : false; |
case 'php': |
||||
break; |
$data = isset(self::$cache[$key]) ? self::$cache[$key] : false; |
||||
} |
break; |
||||
|
|
||||
// debug |
|
||||
if($data && $config['debug']) { |
|
||||
$debug['cached'][] = $key; |
|
||||
} |
|
||||
|
|
||||
return $data; |
|
||||
} |
} |
||||
public static function set($key, $value, $expires = false) { |
|
||||
global $config; |
// debug |
||||
|
if($data && $config['debug']) { |
||||
$key = $config['cache']['prefix'] . $key; |
$debug['cached'][] = $key; |
||||
|
|
||||
if(!$expires) |
|
||||
$expires = $config['cache']['timeout']; |
|
||||
|
|
||||
switch($config['cache']['enabled']) { |
|
||||
case 'memcached': |
|
||||
if(!self::$cache) |
|
||||
self::init(); |
|
||||
self::$cache->set($key, $value, $expires); |
|
||||
break; |
|
||||
case 'apc': |
|
||||
apc_store($key, $value, $expires); |
|
||||
break; |
|
||||
case 'xcache': |
|
||||
xcache_set($key, $value, $expires); |
|
||||
break; |
|
||||
case 'php': |
|
||||
self::$cache[$key] = $value; |
|
||||
break; |
|
||||
} |
|
||||
} |
} |
||||
public static function delete($key) { |
|
||||
global $config; |
return $data; |
||||
|
} |
||||
$key = $config['cache']['prefix'] . $key; |
public static function set($key, $value, $expires = false) { |
||||
|
global $config; |
||||
switch($config['cache']['enabled']) { |
|
||||
case 'memcached': |
$key = $config['cache']['prefix'] . $key; |
||||
if(!self::$cache) |
|
||||
self::init(); |
if(!$expires) |
||||
self::$cache->delete($key); |
$expires = $config['cache']['timeout']; |
||||
break; |
|
||||
case 'apc': |
switch($config['cache']['enabled']) { |
||||
apc_delete($key); |
case 'memcached': |
||||
break; |
if(!self::$cache) |
||||
case 'xcache': |
self::init(); |
||||
xcache_unset($key); |
self::$cache->set($key, $value, $expires); |
||||
break; |
break; |
||||
case 'php': |
case 'apc': |
||||
unset(self::$cache[$key]); |
apc_store($key, $value, $expires); |
||||
break; |
break; |
||||
} |
case 'xcache': |
||||
|
xcache_set($key, $value, $expires); |
||||
|
break; |
||||
|
case 'php': |
||||
|
self::$cache[$key] = $value; |
||||
|
break; |
||||
|
} |
||||
|
} |
||||
|
public static function delete($key) { |
||||
|
global $config; |
||||
|
|
||||
|
$key = $config['cache']['prefix'] . $key; |
||||
|
|
||||
|
switch($config['cache']['enabled']) { |
||||
|
case 'memcached': |
||||
|
if(!self::$cache) |
||||
|
self::init(); |
||||
|
self::$cache->delete($key); |
||||
|
break; |
||||
|
case 'apc': |
||||
|
apc_delete($key); |
||||
|
break; |
||||
|
case 'xcache': |
||||
|
xcache_unset($key); |
||||
|
break; |
||||
|
case 'php': |
||||
|
unset(self::$cache[$key]); |
||||
|
break; |
||||
} |
} |
||||
public static function flush() { |
} |
||||
global $config; |
public static function flush() { |
||||
|
global $config; |
||||
switch($config['cache']['enabled']) { |
|
||||
case 'memcached': |
switch($config['cache']['enabled']) { |
||||
if(!self::$cache) |
case 'memcached': |
||||
self::init(); |
if(!self::$cache) |
||||
return self::$cache->flush(); |
self::init(); |
||||
case 'apc': |
return self::$cache->flush(); |
||||
return apc_clear_cache('user'); |
case 'apc': |
||||
case 'php': |
return apc_clear_cache('user'); |
||||
self::$cache[$key] = Array(); |
case 'php': |
||||
break; |
self::$cache[$key] = Array(); |
||||
} |
break; |
||||
|
|
||||
return false; |
|
||||
} |
} |
||||
|
|
||||
|
return false; |
||||
} |
} |
||||
|
} |
||||
|
|
||||
|
Loading…
Reference in new issue