<?php
/**
 * redis集群驱动
*/
namespace Common\Api;

class RedisCluster{
    
    protected $servers=array(
            '192.168.2.155:7000',
            '192.168.2.155:7001',
            '192.168.2.175:7002',
            '192.168.2.175:7003',
            '192.168.2.160:7004',
            '192.168.2.160:7005'
    );
    
    protected $optionParam=array(
             'timeOut'=>3,
             'readTime'=>3,
             'persistent'=>true     //是否复用链接
    ); 
    
   
    public function __construct($servers=array(),$optionParam=array())
    {
          if(!empty($servers) && is_array($servers))
          {
               $this->servers=$servers;
          }
          
          if(!empty($optionParam) && is_array($optionParam))
          {
               $this->optionParam=$optionParam;
          }
    }

    /**
     * 获取predis对象
    */
    public function getInstance()
    {
        $redisCluster= new \RedisCluster(null,$this->servers,
                                              $this->optionParam['timeOut'],
                                              $this->optionParam['readTime'],
                                              $this->optionParam['persistent']
                                        );
        //主从节点 读取分配策略
        $redisCluster->setOption(
                    \RedisCluster::OPT_SLAVE_FAILOVER, \RedisCluster::FAILOVER_DISTRIBUTE_SLAVES
                );
         return $redisCluster;
    }
}

 

相关文章:

  • 2021-06-18
  • 2021-06-19
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-28
  • 2021-12-01
  • 2022-12-23
猜你喜欢
  • 2021-10-12
  • 2021-05-21
  • 2021-05-19
  • 2021-09-08
  • 2021-05-07
  • 2021-09-30
  • 2022-12-23
相关资源
相似解决方案