Пример #1
0
 /**
  * 获取memcached缓存
  */
 private function _mem()
 {
     $ret = 0;
     $mem = Cache_Memcached::get_instance();
     if ($mem->enabled()) {
         $ret = $mem->increment($this->_key);
         if (!$ret) {
             $mem->set($this->_key, 1, $this->_interval);
             $ret = 1;
         }
     }
     return $ret;
 }
Пример #2
0
 protected function _getMemcache()
 {
     static $cache = NULL;
     if (!is_object($cache)) {
         $cache = Cache_Memcached::getInstance();
     }
     return $cache;
 }
Пример #3
0
 static function init($config)
 {
     if (!self::check_support()) {
         return false;
     }
     if (!isset($config['servers']) || !is_array($config['servers']) || count($config['servers']) < 1) {
         return false;
     }
     if (isset($config['linkid'])) {
         self::$obj = new Memcached($config['linkid']);
     } else {
         self::$obj = new Memcached();
         self::$obj->setOption(Memcached::OPT_BINARY_PROTOCOL, true);
     }
     self::$obj->addServers($config['servers']);
     $status = self::$obj->getStats();
     if (is_array($status) && count($status)) {
         foreach (self::$obj->getVersion() as $v) {
             if (version_compare($v, '1.4.8', '<')) {
                 self::$support_touch = false;
                 return true;
             }
         }
         return true;
     }
     return false;
 }