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;
    }
}