function __construct() { if (!self::$_memcachedInstance) { $this->_memcached = new Memcached(); $this->_memcached->addServer('127.0.0.1', 11211); if (Zend_Registry::get('config')->debug->memcached->flush) { $this->_memcached->flush(); } self::$_memcachedInstance = $this->_memcached; } else { $this->_memcached = self::$_memcachedInstance; } if (Zend_Registry::get('config')->debug->memcached->no_cache) { $this->_noCache = true; } $this->prepareMemcachedNamespaceKey(); }
/** * @param string $methodName * @param array $arguments * @param string $callback * @param int $ttl * @return mixed */ protected function cacheRetrieverSet($methodName, $arguments, $callback, $ttl = 0) { $key = $this->getStorageGUID() . $methodName . ':' . md5(serialize($arguments)); $ignoreCache = $this->ignoreCache(); $foundData = false; if (!$ignoreCache) { $data = $this->_memcached->get($key); if ($this->_memcached->getResultCode() !== Memcached::RES_NOTFOUND) { $result = unserialize($data); $foundData = true; } } if (!$foundData) { $result = call_user_func_array(array($this->_reader, $callback), $arguments); $this->_memcached->set($key, serialize($result), $ttl); } return $result; }
protected function _delete(Berthe_AbstractVO &$vo) { return self::$_memcached->delete($this->getMemcachedKey($vo->id)); }