干货php Redis连接池

Posted 高洛峰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了干货php Redis连接池相关的知识,希望对你有一定的参考价值。

redis连接静态类。redis连接池 减少redis的重复连接,降低内存消耗!

    <?php
        class RedisPool
        {
            private static $connections = array(); //定义一个对象池
            private static $servers = array(); //定义redis配置文件
            public static function addServer($conf) //定义添加redis配置方法
            {
                foreach ($conf as $alias => $data){
                    self::$servers[$alias]=$data;
                }
            }

            public static function getRedis($alias,$select = 0)//两个参数要连接的服务器KEY,要选择的库
            { 
                if(!array_key_exists($alias,self::$connections)){  //判断连接池中是否存在
                    $redis = new Redis();
                    $redis->connect(self::$servers[$alias][0],self::$servers[$alias][1]);
                    self::$connections[$alias]=$redis;
                    if(isset(self::$servers[$alias][2]) && self::$servers[$alias][2]!=""){ 
                        self::$connections[$alias]->auth(self::$servers[$alias][2]);
                    }
                }
                self::$connections[$alias]->select($select);
                return self::$connections[$alias];
            }
        }

使用实例

    <?php 
    require 'RedisPool.php';
    $conf = array( 
        'RA' => array('127.0.0.1',6379)   //定义Redis配置
    );
    RedisPool::addServer($conf); //添加Redis配置
    $redis = RedisPool::getRedis('RA'); //连接RA,使用默认0库
    $redis->set('user','private');
    echo $redis ->get('user');

本文转自大牛博客,原文可点击左下角 阅读原文 查看(建议PC端查看)

【干货】php Redis连接池

【干货】php Redis连接池   

以上是关于干货php Redis连接池的主要内容,如果未能解决你的问题,请参考以下文章

jedis连接redis

node.js中如何配置redis与连接池?

python 的 redis 库,连接池怎么用

Swoole封装MySQL与Redis的连接池

scala怎样创建redis集群连接池

干货|数据库连接池