用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//选择库],
- 最后再来看下整体配置
<?phpuse 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层、控制器层
-
用ThinkPHP6制作后台