php redis 集群扩展类文件

Posted 张瀚文的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
    }
}

 

以上是关于php redis 集群扩展类文件的主要内容,如果未能解决你的问题,请参考以下文章

php操作redis cluster集群

如何利用redis来进行分布式集群系统的限流设计

php操作redis cluster集群成功实例

宝塔安装php redis 扩展故障

window下php5安装redis扩展

php redis2.2.7扩展bug导致段故障与重新声明类bug