PHP 单例模式封装redis

RedisSingleton类通过私有构造函数确保不能直接实例化,getInstance方法用于获取类的唯一实例,提供Redis数据库的连接。如果实例不存在,则创建新的Redis连接;若已存在,则直接返回。在使用时,通过RedisSingleton::getInstance()即可获取Redis对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码: 

class RedisSingleton {
  private static $instance = null;
  private $redis;

  private function __construct() {
    $this->redis = new Redis();
    $this->redis->connect('127.0.0.1', 6379);
  }

  public static function getInstance() {
    if (self::$instance == null) {
      self::$instance = new RedisSingleton();
    }
    return self::$instance->redis;
  }
}

 

在这个例子中,RedisSingleton类的构造函数被声明为私有,这意味着它不能被直接实例化。相反,getInstance()方法被用来获取类的唯一实例,并返回Redis对象。如果实例不存在,则创建一个新实例并返回它。如果实例已经存在,则直接返回它。

调用:

使用时,可以通过以下方式获取Redis对象:

$redis = RedisSingleton::getInstance();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值