用ThinkPHP6操作Redis集群

用ThinkPHP6操作Redis集群

仅作为Shane个人笔记

  • 上一篇文章Shane记录了自己搭建Redis集群的过程
  • 这一篇Shane准备记录如何使用TP6框架操作搭建好的集群
  • 以下代码中出现的show方法
  • 均为Shane写的用来返回
  • 统一数据的接口方法

创建测试模块

  • Shane取名为cluster
  • 在其中创建controller和config文件夹

配置连接

  • 将TP6框架根目录config文件夹下的cache.php配置文件复制一份到cluster下的config
  • 在stores里仿照file仿写一个redis的配置
'redis_write' => [
    'host'       => '127.0.0.1', //主机IP
    'port'       => 6380,        //端口
    'type'       => 'redis',     //缓存类型
    'password'   => 'passadmin', //密码(此密码和Shane上一篇文章设置的密码一致)
    'timeout'    => 0,           //超时
    'select'     => 0            //选择库
],
  • 从配置名redis_write可以看出是master服务器,用来写
  • 那么相应的slave服务器用来读
  • 所以还需要有一个配置
'redis_read' => [
    'host'       => 'slave主机IP', //主机IP
    'port'       => 6380,        //端口
    'type'       => 'redis',     //缓存类型
    'password'   => 'passadmin', //密码(此密码和Shane上一篇文章设置的密码一致)
    'timeout'    => 0,           //超时
    'select'     => 0            //选择库
],
  • 最后再来看下整体配置
<?php
use think\facade\Env;

// +----------------------------------------------------------------------
// | 缓存设置
// +----------------------------------------------------------------------

return [
    // 默认缓存驱动
    'default' => Env::get('cache.driver', 'redis'),

    // 缓存连接方式配置
    'stores'  => [

        'file' => [
            // 驱动方式
            'type'       => 'File',
            // 缓存保存目录
            'path'       => '',
            // 缓存前缀
            'prefix'     => '',
            // 缓存有效期 0表示永久缓存
            'expire'     => 0,
            // 缓存标签前缀
            'tag_prefix' => 'tag:',
            // 序列化机制 例如 ['serialize', 'unserialize']
            'serialize'  => [],
        ],
        // 更多的缓存连接
        'redis' => [
            'host'       => '127.0.0.1',
            'port'       => 6379,
            'type'       => 'redis',
            'select'     => 1
        ],
        'redis_write' => [
            'host'       => '127.0.0.1',
            'port'       => 6380,
            'type'       => 'redis',
            'password'   => 'passadmin',
            'timeout'    => 0,
            'select'     => 0
        ],
        'redis_read' => [
            'host'       => 'slave主机IP',
            'port'       => 6380,
            'type'       => 'redis',
            'password'   => 'passadmin',
            'timeout'    => 0,
            'select'     => 0
        ],
    ],
];

创建控制器

  • Shane创建一个控制器取名Cluster
  • 在其中编写两个方法writeData和readData
/**
* store里填写上一步配置好的redis_write
* /
public function writeData(){
    return $this->show(
        config("status.success"),
        config("message.success"),
        Cache::store('redis_write')->set('sss','aaa')
    );
}
/**
* store里填写上一步配置好的redis_read
* /
public function readData(){
    return $this->show(
        config("status.success"),
        config("message.success"),
        Cache::store('redis_read')->get('sss')
    );
}

测试

  • 通过 /模块/控制器/方法 的访问路径先访问writeData
  • /cluster/Cluster/writeData
  • 再访问readData
  • /cluster/Cluster/readData

结尾

  • Redis集群在应用层面测试成功之后

  • 可以开始后面业务逻辑的编写了

  • 并且严格遵守明确的架构分层

  • 将对应的代码放入对应的模型层、business层、控制器层

  • Shane在B站的TP6视频

  • 用ThinkPHP6制作后台

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值