美文网首页
php 封装redis 单例模式 2022-11-15

php 封装redis 单例模式 2022-11-15

作者: 阿然学编程 | 来源:发表于2022-11-14 12:18 被阅读0次
class RedisSingleton
{

    /**
     * 本地保存的单例
     * @var unknown
     */
    private static $instance;

    /**
     * 本地保存的Redis实例
     * @var object
     */
    private $redis;

    /**
     * Redis连接参数
     * @var array
     */
    private $config = [
        'host' => '127.0.0.1',
        'port' => 6379,
        'pass' => '',
    ];

    //防止直接创建对象
    private function __construct()
    {
        $this->redis = new \Redis();
        //连接redis
        $this->redis->connect($this->config['host'], $this->config['port']);
        if ($this->config['pass']) {
            $this->redis->auth($this->config['pass']);
        }
    }

    //防止克隆对象
    private function __clone()
    {
    }

    //单一获取对象入口
    public static function getInstance()
    {
        if (!self::$instance instanceof self) {
            self::$instance = new self();
        }
        return self::$instance->redis;
    }

    /**
     * 设置Redis连接参数
     * @param array $config Redis连接参数
     */
    public function setConfig($config)
    {
        $this->config = array_merge($this->config, $config);
    }

}
  • 控制器调用示例:
//获取Redis实例
$redis = RedisSingleton::getInstance();

//修改Redis连接参数
RedisSingleton::setConfig(['host' => '127.0.0.2']);

//获取修改后的Redis实例
$redis = RedisSingleton::getInstance();

相关文章

  • Swoole单例模式及依赖注入进行Redis底层类库封装

    redis安装及php-redis扩展安装 初步使用 封装基类 – 单例模式 优化封装 – 依赖注入 从配置加载 ...

  • PHP Redis使用单例模式

    PHP redis使用单例模式 单例模式的使用可以很好的节省资源 在频繁调用get和set时是很好的选择 使用场景...

  • 单例模式

    单例模式是封装的一种形式,依靠单例模式调用被封装的属性和方法,因为使用单例模式的类无法生成实例(只能引用单例模式所...

  • pattern设计模式

  • 2018-04-08php实战设计模式

    一、单例模式 单例模式是最经典的设计模式之一,到底什么是单例?单例模式适用场景是什么?单例模式如何设计?php中单...

  • PHP的单例模式

    php的单例模式和java单例模式的比较 PHP语言是一种解释型的脚本语言,这种运行机制使得每个PHP页面被解释执...

  • 测试文章

    php 设计模式 1.单例模式 单例模式顾名思义,就是只有一个实例。作为对象的创建模式, 单例模式确保某一个类只有...

  • php操作redis大全

    php连接redis测试 php操作redis函数封装 php操作redis大全,基本上php操作redis常用的...

  • AFNetworking内存泄露问题

    只需要将AFHTTPSessionManage封装为单例模式

  • ThinkPHP设计模式与Trait技术

    阅读原文 设计模式 单例模式 工厂模式 对象注册树 示例 运行 Trait技术 自 PHP 5.4.0 起,PHP...

网友评论

      本文标题:php 封装redis 单例模式 2022-11-15

      本文链接:https://www.haomeiwen.com/subject/dnddxdtx.html