这篇文章主要介绍了PHP实现的Redis多库选择功能单例类,结合实例形式分析了php采用单例模式实现redis数据库的多库选择功能,需要的朋友可以参考下
本文实例讲述了PHP实现的Redis多库选择功能单例类。分享给大家供大家参考,具体如下:
前言
qq群里有同学问redis如何进行多库选择,用php实现了一下,还望各位多多指点
代码
<?php class MultiRedisConnect { /** * hostname * * @var string */ const REDISHOSTNAME = "127.0.0.1"; /** * port * * @var int */ const REDISPORT = 6379; /** * timeout * * @var int */ const REDISTIMEOUT = 0; /** * password * * @var string */ const REDISPASSWORD = "123456"; /** * 类单例数组 * * @var array */ private static $instance = array(); /** * redis连接句柄 * * @var object */ private $redis; /** * hash的key * * @var int */ private $hash; /** * 私有化构造函数,防止类外实例化 * * @param int $dbnumber */ private function __construct ($dbnumber) { $dbnumber = (int) $dbnumber; $this->hash = $dbnumber; $this->redis = new Redis(); $this->redis->connect(self::REDISHOSTNAME, self::REDISPORT, self::REDISTIMEOUT); $this->redis->auth(self::REDISPASSWORD); $this->redis->select($dbnumber); } private function __clone () {} /** * 获取类单例 * * @param int $dbnumber * @return object */ public static function getRedisInstance ($dbnumber) { $hash = (int) $dbnumber; if (! isset(self::$instance[$hash])) { self::$instance[$hash] = new MultiRedisConnect($dbnumber); } return self::$instance[$hash]; } /** * 获取redis的连接实例 * * @return object */ public function getRedisConnect () { return $this->redis; } /** * 关闭单例时做清理工作 */ public function __destruct () { $key = $this->hash; self::$instances[$key]->redis->close(); self::$instances[$key] = null; } } ?>
以上是php中关于Redis多库选择功能单例类实现的代码分享的详细内容。更多信息请关注PHP中文网其他相关文章!

Redis是现在最热门的key-value数据库,Redis的最大特点是key-value存储所带来的简单和高性能;相较于MongoDB和Redis,晚一年发布的ES可能知名度要低一些,ES的特点是搜索,ES是围绕搜索设计的。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了关于redis的一些优势和特点,Redis 是一个开源的使用ANSI C语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式存储数据库,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了Redis Cluster集群收缩主从节点的相关问题,包括了Cluster集群收缩概念、将6390主节点从集群中收缩、验证数据迁移过程是否导致数据异常等,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了Redis实现排行榜及相同积分按时间排序,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了关于原子操作中命令原子性的相关问题,包括了处理并发的方案、编程模型、多IO线程以及单命令的相关内容,下面一起看一下,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了bitmap问题,Redis 为我们提供了位图这一数据结构,位图数据结构其实并不是一个全新的玩意,我们可以简单的认为就是个数组,只是里面的内容只能为0或1而已,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了Redis实现排行榜及相同积分按时间排序,本文通过实例代码给大家介绍的非常详细,下面一起来看一下,希望对大家有帮助。

redis error就是redis数据库和其组合使用的部件出现错误,这个出现的错误有很多种,例如Redis被配置为保存数据库快照,但它不能持久化到硬盘,用来修改集合数据的命令不能用。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3汉化版
中文版,非常好用

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。