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