From 7f0065ddbd80fe32e49cede2d65d231c6ec6f183 Mon Sep 17 00:00:00 2001 From: Florian Pritz Date: Thu, 15 Aug 2013 17:10:58 +0200 Subject: Switch to CI's caching class This supports more caching backends and doesn't force users to install the memcache extension. Signed-off-by: Florian Pritz --- application/libraries/MemcacheLibrary.php | 202 ------------------------------ 1 file changed, 202 deletions(-) delete mode 100644 application/libraries/MemcacheLibrary.php (limited to 'application/libraries/MemcacheLibrary.php') diff --git a/application/libraries/MemcacheLibrary.php b/application/libraries/MemcacheLibrary.php deleted file mode 100644 index 1716a1d10..000000000 --- a/application/libraries/MemcacheLibrary.php +++ /dev/null @@ -1,202 +0,0 @@ - -* @license GNU General Public License -* @version 0.1 -*/ - - -class MemcacheLibrary { - - /** - * variable that holds memcached backend instance - * - * @var object - * @access public - */ - public $memcachedInstance; - - /** - * variable that holds servers for the memcache - * - * @var array - * @access public - */ - public $servers = array(); - - - /** - * main CodeIgniter instance - * - * @var object - * @access public - */ - public $CI; - - /** - * constructor function for the library - */ - public function __construct() { - - /* initialize memcached instance */ - if(class_exists("Memcache")) { - $this->memcachedInstance = new Memcache(); - } else { - throw new Exception( - "Memcached client doesn't exists in your PHP configuration" - ); - } - - /* load super CI instance */ - $this->CI =& get_instance(); - - /* load default server info */ - $this->CI->config->load("memcache"); - - /* connect to default server */ - if($this->CI->config->item("MEMCACHE_HOST") && $this->CI->config->item("MEMCACHE_PORT") !== false) { - $this->addServer($this->CI->config->item("MEMCACHE_HOST"), $this->CI->config->item("MEMCACHE_PORT")); - } - - } - - /** - * adder function for the memcache servers - * - * @access public - * @return void - */ - public function addServer($server, $port) { - $this->servers[] = array( - "server" => $server, - "port" => $port, - ); - - $this->memcachedInstance->addServer($server, $port); - } - - /** - * gets related key from the memcache - * - * @access public - */ - public function get($key) { - $this->logDebugMessage(sprintf("%s key requested from memcache", $key)); - - // hide notice if server is unreachable - $old_error_level = error_reporting(); - error_reporting($old_error_level & ~E_NOTICE); - - $ret = $this->memcachedInstance->get($key); - - error_reporting($old_error_level); - return $ret; - } - - /** - * sets related key to the memcache - * - * @access public - */ - public function set($key, $value, $expire = null) { - $this->logDebugMessage( - sprintf("%s key set to memcache. (expire: %s)",$key, $expire) - ); - - // hide notice if server is unreachable - $old_error_level = error_reporting(); - error_reporting($old_error_level & ~E_NOTICE); - - $ret = $this->memcachedInstance->set($key, $value, null, $expire); - - error_reporting($old_error_level); - return $ret; - } - - /** - * deletes related key from the memcache - * - * @access public - */ - public function delete($key) { - $this->logDebugMessage(sprintf("%s key deleted from memcache.", $key)); - // hide notice if server is unreachable - $old_error_level = error_reporting(); - error_reporting($old_error_level & ~E_NOTICE); - - $ret = $this->memcachedInstance->delete($key); - - error_reporting($old_error_level); - return $ret; - } - - /** - * increments related key from the memcache - * - * @access public - */ - public function increment($key, $offset = 1) { - $this->logDebugMessage(sprintf("%s key incremented %s times", $key, $offset)); - return $this->memcachedInstance->increment($key, $offset); - } - - /** - * decrements related key from the memcache - * - * @access public - */ - public function decrement($key, $offset = 1) { - $this->logDebugMessage(sprintf("%s key decremented %s times", $key, $offset)); - return $this->memcachedInstance->decrement($key, $offset); - } - - /** - * gets running memcached servers. - * - * @access public - * @return array - */ - public function getRunningServers() { - return $this->servers; - } - - /** - * array of server statistics, one entry per server. - * - * @access public - * @return array - */ - public function getStatistics() { - return $this->memcachedInstance->getStats(); - } - - /** - * Invalidates all items from the memcache. - * - * @access public - * @return boolean - */ - public function flush($delay = 0) { - $this->logDebugMessage(sprintf("memcache flushed! (delay: %s)", $delay)); - return $this->memcachedInstance->flush($delay); - } - - /** - * logs the memcache actions to the codeigniter's main logging system. - * - * @access private - */ - private function logDebugMessage($message) { - log_message("debug", $message); - } -} - -# vim: set noet: -- cgit v1.2.3-24-g4f1b