• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 关于ThinkPHP6多例Redis类实现

关于ThinkPHP6多例Redis类实现

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了ThinkPHP6,多例Redis类等相关知识,希望对您有所帮助

关于ThinkPHP6多例Redis类实现


在Thinkphp项目中封装一个Redis多库单例操作类

1、操作前的准备

如果没有安装phpredis模块那么先执行

composer require predis/predis

2、配置Redis连接信息

在app\config\cache.php中配置

'redis' => [    // 驱动方式    'type'       => 'redis',    // 连接地址    'host'       => Env::get('redis.host'),    // 端口    'port'       => Env::get('redis.port'),],

更多配置参考

/** * 配置参数 * @var array */protected $options = [    'host'       => '127.0.0.1',    'port'       => 6379,    'password'   => '',    'select'     => 0,    'timeout'    => 0,    'expire'     => 0,    'persistent' => false,    'prefix'     => '',    'tag_prefix' => 'tag:',    'serialize'  => [],];

在.env中配置连接信息

[REDIS]host = 127.0.0.1port = 6379

3、编写代码

在app\common下创建文件Redis.php

<?phpnamespace app\common;use think\facade\Config;use think\cache\driver\redis as ThinkRedis;class Redis extends ThinkRedis{    /**     * @var int     */    protected $hash;     /**     * @var array     */    protected static $instance = [];     /**     * Redis constructor.     * @param $db     */    private function __construct($db)    {        $options = Config::get('cache.stores.redis');        $options['select'] = $db;        $this->hash = $db;        $this->options = array_merge($this->options, $options);        parent::__construct();    }     private function __clone()    {    }     /**     * @param int $db     * @return \Predis\Client|\Redis     */    public static function instance($db = 0)    {        if (! isset(self::$instance[$db])) {            self::$instance[$db] = new self($db);        }        return self::$instance[$db];    }     public function __destruct()    {        self::$instance[$this->hash]->close();        unset(self::$instance[$this->hash]);    }}

4、使用方式

use app\common\Redis;$redis = Redis::instance(4);$redis->hSet('user:1', 'userName', 'admin'); Redis::instance(1)->hSet('user', 'name', 'admin1');Redis::instance(2)->hSet('user', 'name', 'admin2');Redis::instance(3)->hSet('user', 'name', 'admin3');



分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ThinkPHP6对接微信扫码登录
  • 一起聊聊thinkphp6使用think-queue实现普通队列和延迟队列
  • ThinkPHP6.0 重写URL去掉Index.php的解决方法
  • Thinkphp6自定义配置文件以及调用(config文件夹下的配置)
  • 基于thinkphp6.x的API接口开发简单小实例
  • ThinkPHP 6.0 多语言优化扩展包的安装与使用
  • 详解ThinkPHP6结合GuzzleHTTP发送HTTP请求
  • 关于ThinkPHP6多例Redis类实现
  • 实例详解thinkphp6搭建后端api接口
  • Thinkphp6微信PC端登录和手机端登录逻辑分享

相关文章

  • 2022-04-29PHP如何对数组排序并保持键值不变
  • 2022-04-29小程序中怎么进行父子组件传值和方法调用?(方法汇总)
  • 2022-04-29Thinkphp5分页函数paginate中的each()传入自定义参数
  • 2022-04-29dedecms栏目30个关键字限制解决方法
  • 2022-04-29thinkphp5报错显示nginx 404页面的解决办法
  • 2022-04-29thinkphp模型定义
  • 2022-04-29Photoshop绘制玻璃质感水晶按钮教程
  • 2022-04-29解决TP5.1出现A non well formed numeric value encountered的问题
  • 2022-04-29Photoshop制作颓废效果的金属立体字教程
  • 2022-04-29浅析微信小程序中自定义组件的方法

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 手动触发 Lazyload 显示懒加载的图片
    • JS中循环遍历数组的四种方式总结
    • Photoshop利用通道及滤镜制作放射光束
    • phpMyadmin该怎么实现root账户外部访问
    • 微信小程序wx.request使用POST请求时后端无法获取数据解决办法
    • 微信小程序获取设备信息api示例
    • Photoshop制作透明大气的导航按钮
    • 微信小程序发布新版本时自动提示用户更新的方法
    • BootstrapTable如何重新加载数据?3种方式了解一下!
    • windows系统php环境安装swoole具体步骤

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有