仅作为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 thinkfacadeEnv;// +----------------------------------------------------------------------// | 缓存设置// +----------------------------------------------------------------------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_writepublic function writeData(){ return $this->show( config("status.success"), config("message.success"), Cache::store('redis_write')->set('sss','aaa') );}//store里填写上一步配置好的redis_readpublic 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层、控制器层