Пример #1
0
 public static function getInstance($name)
 {
     if (!self::$config) {
         self::$config = (array) new \Config\Redis();
     }
     if (!isset(self::$instance[$name])) {
         RedisStorage::config(self::$config, $name);
         self::$instance[$name] = RedisStorage::getInstance($name);
     }
     return self::$instance[$name];
 }
 /**
  * @param array $payload
  *
  * @return bool
  */
 public function persist(array $payload)
 {
     $this->archiveStorage->append($this->fireTime, $payload);
     return $this->storage->purgeList($this->fireTime);
 }
Пример #3
0
 public function testSet()
 {
     $redis = $this->getMock('Predis\\Client');
     $storage = new RedisStorage($redis);
     $storage->set('foo', array('a' => 'b'));
 }
Пример #4
0
RedisCache::config($config);
//***************************以上入口文件配置一次,向王伟同学要ip端口***************************************
//*******************************cache的使用方法*************************************
$cache = RedisCache::getInstance();
$cache->set("key", 1111);
var_dump($cache->get("key"));
$cache->close();
//如果是PHPSERVER,需要手动调用close来关闭连接。FPM的话就不close也行
//*******************************存储的使用方法*************************************
$stor = RedisStorage::getInstance();
$stor->set("key", 1111);
var_dump($stor->get("key"));
$stor->close();
//如果是PHPSERVER,需要手动调用close来关闭连接。FPM的话就不close也行
//*******************************事務的使用方法(只支持單個key)*************************************
$stor = RedisStorage::getInstance();
$stor->MULTI();
$stor->incr("key");
$stor->incr("key");
$stor->incr("key");
$stor->EXEC();
echo $stor->get("key");
//***************************如果你在项目中需要访问2个集群的数据,需要下面的方法*****************
$config = array('WEB' => array('nodes' => array(array('master' => "192.168.8.230:27000", 'slave' => "192.168.8.231:27000"), array('master' => "192.168.8.230:27001", 'slave' => "192.168.8.231:27001"), array('master' => "192.168.8.230:27002", 'slave' => "192.168.8.231:27002"), array('master' => "192.168.8.230:27003", 'slave' => "192.168.8.231:27003"), array('master' => "192.168.8.230:27004", 'slave' => "192.168.8.231:27004"), array('master' => "192.168.8.232:27005", 'slave' => "192.168.8.231:27005"), array('master' => "192.168.8.232:27006", 'slave' => "192.168.8.231:27006"), array('master' => "192.168.8.232:27007", 'slave' => "192.168.8.231:27007"), array('master' => "192.168.8.232:27008", 'slave' => "192.168.8.231:27008"), array('master' => "192.168.8.232:27009", 'slave' => "192.168.8.231:27009")), 'db' => 15), 'APP' => array('nodes' => array(array('master' => "192.168.8.230:27000", 'slave' => "192.168.8.231:27000"), array('master' => "192.168.8.230:27001", 'slave' => "192.168.8.231:27001"), array('master' => "192.168.8.230:27002", 'slave' => "192.168.8.231:27002"), array('master' => "192.168.8.230:27003", 'slave' => "192.168.8.231:27003"), array('master' => "192.168.8.230:27004", 'slave' => "192.168.8.231:27004"), array('master' => "192.168.8.232:27005", 'slave' => "192.168.8.231:27005"), array('master' => "192.168.8.232:27006", 'slave' => "192.168.8.231:27006"), array('master' => "192.168.8.232:27007", 'slave' => "192.168.8.231:27007"), array('master' => "192.168.8.232:27008", 'slave' => "192.168.8.231:27008"), array('master' => "192.168.8.232:27009", 'slave' => "192.168.8.231:27009")), 'db' => 14));
RedisMultiStorage::config($config);
//入口文件配置一次
$WEB = RedisMultiStorage::getInstance("WEB");
//获取WEB前端redis集群实例(存储)
$APP = RedisMultiStorage::getInstance("APP");
//获取APP的redis集群实例(存储)
$WEB->set("key5", "web");