Exemplo n.º 1
0
 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();
 }
Exemplo n.º 2
0
 /**
  * @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;
 }
Exemplo n.º 3
0
 protected function _delete(Berthe_AbstractVO &$vo)
 {
     return self::$_memcached->delete($this->getMemcachedKey($vo->id));
 }