From 011ea460229a9024e556d38d86b2d05dcf4ef27a Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Fri, 26 Sep 2008 12:16:52 -0400 Subject: rename cached object file darcs-hash:20080926161652-5ed1f-45aee985c6755642d346b864926b2346900c4055.gz --- classes/Memcached_Object.php | 144 ------------------------------------------- 1 file changed, 144 deletions(-) delete mode 100644 classes/Memcached_Object.php (limited to 'classes/Memcached_Object.php') diff --git a/classes/Memcached_Object.php b/classes/Memcached_Object.php deleted file mode 100644 index e41613c91..000000000 --- a/classes/Memcached_Object.php +++ /dev/null @@ -1,144 +0,0 @@ -. - */ - -if (!defined('LACONICA')) { exit(1); } - -require_once INSTALLDIR.'classes/Memcached_DataObject.php'; - -class Memcached_DataObject extends DB_DataObject -{ - static function &staticGet($cls, $k, $v=NULL) { - $i = $this->getcached($cls, $k, $v); - if (!is_null($i)) { - return $i; - } else { - $i = parent::staticGet($k, $v); - if (!is_null($i)) { - $i->encache(); - } - return $i; - } - } - - function insert() { - $result = parent::insert(); - if ($result) { - $this->encache(); - } - return $result; - } - - function update($orig=NULL) { - if (!is_null($orig)) { - $orig->decache(); # might be different keys - } - $result = parent::update($orig); - if ($result) { - $this->encache(); - } - } - - function delete() { - $this->decache(); # while we still have the values! - return parent::delete(); - } - - static function memcache() { - if (!common_config('memcached', 'enabled')) { - return NULL; - } else { - $cache = new Memcache(); - $res = $cache->connect(common_config('memcached', 'server'), - common_config('memcached', 'port')); - return ($res) ? $cache : NULL; - } - } - - static function cacheKey($cls, $k, $v) { - return common_cache_key(strtolower($cls) . ':' . - $k . ':' . - $v); - } - - static function getcached($cls, $k, $v) { - $c = Memcached_DataObject::memcache(); - if (!$c) { - return false; - } else { - return $c->get(Memcached_DataObject::cacheKey($cls, $k, $v)); - } - } - - function keyTypes() { - global $_DB_DATAOBJECT; - if (!isset($_DB_DATAOBJECT['INI'][$this->_database][$this->__table."__keys"])) { - $this->databaseStructure(); - - } - return $_DB_DATAOBJECT['INI'][$this->_database][$this->__table."__keys"]; - } - - function encache() { - $c = $this->memcache(); - if (!$c) { - return false; - } else { - $primary = array(); - $types = ksort($this->keyTypes()); - foreach ($types as $key => $type) { - if ($type == 'K') { - $primary[] = $key; - } else { - $c->set($this->cacheKey($this->tableName(), $key, $this->$key), - $this); - } - } - # XXX: figure out what to do with compound pkeys - if (count($primary) == 1) { - $key = $primary[0]; - $c->set($this->cacheKey($this->tableName(), $key, $this->$key), - $this); - } - } - } - - function decache() { - $c = $this->memcache(); - if (!$c) { - return false; - } else { - $primary = array(); - $types = ksort($this->keyTypes()); - foreach ($types as $key => $type) { - if ($type == 'K') { - $primary[] = $this->$key; - } else { - $c->delete($this->cacheKey($this->tableName(), $key, $this->$key), - $this); - } - } - # XXX: figure out what to do with compound pkeys - if (count($primary) == 1) { - $key = $primary[0]; - $c->delete($this->cacheKey($this->tableName(), $key, $this->$key), - $this); - } - } - } -} -- cgit v1.2.3-54-g00ecf