php redis 集群扩展类文件

<?php
/**
 * redis集群驱动
*/
namespace CommonApi;

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;
    }
}
原文地址:https://www.cnblogs.com/zhanghanwen16/p/9510561.html