From 555688e880b1bb50c13286b7d373ffd683847234 Mon Sep 17 00:00:00 2001 From: Savetheinternet Date: Fri, 7 Oct 2011 16:51:19 +1100 Subject: memcached, APC, xcache --- inc/cache.php | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 inc/cache.php (limited to 'inc/cache.php') diff --git a/inc/cache.php b/inc/cache.php new file mode 100644 index 00000000..8909deaf --- /dev/null +++ b/inc/cache.php @@ -0,0 +1,95 @@ +addServers($config['cache']['memcached']); + break; + } + } + public static function get($key) { + global $config, $debug; + + if(!self::$cache) + self::init(); + + $data = false; + switch($config['cache']['enabled']) { + case 'memcached': + $data = self::$cache->get($key); + break; + case 'apc': + $data = apc_fetch($key); + break; + case 'xcache': + $data = xcache_get($key); + break; + } + + // debug + if($data && $config['debug']) { + $debug['cached'][] = $key; + } + + return $data; + } + public static function set($key, $value, $expires = false) { + global $config; + + if(!self::$cache) + self::init(); + + if(!$expires) + $expires = $config['cache']['timeout']; + + switch($config['cache']['enabled']) { + case 'memcached': + self::$cache->set($key, $value, $expires); + break; + case 'apc': + apc_store($key, $value, $expires); + break; + case 'xcache': + xcache_set($key, $value, $expires); + break; + } + } + public static function delete($key) { + global $config; + + if(!self::$cache) + self::init(); + + switch($config['cache']['enabled']) { + case 'memcached': + self::$cache->delete($key); + break; + case 'apc': + apc_delete($key); + break; + case 'xcache': + xcache_unset($key); + break; + } + } + public static function flush() { + global $config; + + if(!self::$cache) + self::init(); + + switch($config['cache']['enabled']) { + case 'memcached': + return self::$cache->flush(); + case 'apc': + return apc_clear_cache(); + } + + return false; + } + } + -- cgit v1.3