怎么配置一个读写分离的redis-replication主从架构?

Posted 背井

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么配置一个读写分离的redis-replication主从架构?相关的知识,希望对你有一定的参考价值。

前言

·在看这篇文章之前我想你已经知道怎么去配置一台生产环境的redis,而不是简简单单的解压、然后在服务器上敲敲命令,就完事了。配置文件redis.conf中的东西也不知道怎么该,RDB和AOF也不知道怎么开启持久化,以及容灾怎么去进行数据的备份。还有就是redis服务怎么配置开机自启动。·

这个是生产环境redis的配置文档redis生产环境的配置文档

搞两台配置好的redis,开始撸起。

1、主节点修改配置文件

1.1、设置口令认证

1.2、绑定主节点的ip

2、从节点修改配置文件

2.1、从节点配置主节点的IP和端口号

2.2、从节点配置成只读,这个配置不用改默认就是只读

2.3、主节点开启了认证口令,从节点要配置主节点的口令

2.4、从节点绑定自己的IP

3、主节点进入命令行

命令
[root@emooco init.d]# redis-cli -h 172.16.198.135
图解

4、主节点添加数据

命令
172.16.198.135:6379> set k4 v4
图解


出现了(error) NOAUTH Authentication required. 问题

问题的解决
命令
172.16.198.135:6379> auth master-slave
OK

需要进行认证登陆,因为我们redis.conf配置文件中开启了安全认证

5、主节点获取数据

命令
172.16.198.135:6379> get k
图解

主节点查看节点信息


从上图可以看出该节点的角色是master,并且链接的从节点的个数是一个,而且也可以看出从节点的IP和端口号,以及对应的offerset的值

6、从节点添加数据

命令
172.16.198.136:6379> set k v
图片


从节点添加数据失败,因为我们设置了只读,从节点只能读取数据

7、从节点获取数据

命令
172.16.198.136:6379> get k3

图解

从节点查看节点信息


从上图可以看出这个节点的角色是slave节点,从节点,也可以看到主节点的IP和端口号等等信息,有兴趣的可以自己去看官方文档的解释

8、对于更多的一主多从的配置

主节点的工作是写入数据

从节点的工作就是读取数据

一主多从的目的就是读写分离,支撑高并发,以上的案例只是配置了一主一从,要想 一主多从,那不就是水平扩展吗?只需要将从节点的配置多复制几份不就可以了吗?

以上是关于怎么配置一个读写分离的redis-replication主从架构?的主要内容,如果未能解决你的问题,请参考以下文章

laravel-mongodb 怎么读写分离

postgresql已经配置好主从,java中怎么进行读写分离

PHP CodeIgniter框架实现读写分离

FreeSql (三十)读写分离

ClickHouse 读写分离方案

终于学会了 MySQL 主从配置和读写分离