php Redis连接池

什么是连接池

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

通常情况下, 当我们需要做redis操作时, 会创建一个连接, 并基于这个连接进行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');
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,915评论 18 139
  • 本文将从Redis的基本特性入手,通过讲述Redis的数据结构和主要命令对Redis的基本能力进行直观介绍。之后概...
    kelgon阅读 61,264评论 23 625
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,366评论 11 349
  • 四表姐夫:“慈禧太后…知道不?” 马大三:“知道!” 四表姐夫:“八大臣,知道不!” 马大三:“知道,嗯…知不道”...
    封剑主叹希奇阅读 899评论 0 0
  • “池塘边的榕树下,知了在声声叫着夏天……”六年的小学生活结束了。这是我们这些作为小学生最后一次站在这个操场上,拿着...
    邂逅在巴黎阅读 264评论 1 0