本文主要介绍Redis主从架构和主从从架构,耐心阅读完本文,相信你会对Redis主从架构和主从从架构有一个清晰的认识。

Redis主从复制的功能非常强大,它有以下好处:

1.避免Redis单点故障
2.构建读写分离架构,满足读多写少的应用场景

1. 环境搭建

架构拓扑图

Redis主从架构搭建详细步骤_redis


Redis集群不用安装多个Redis,只需复制多个配置文件,修改即可。所以如果要进行主从结构搭建,需先安装单机版Redis。单机版Redis安装可参照:​​单机版Redis安装教程​

Redis主从架构搭建详细步骤_java_02



port 6379
daemonize no

从另外一个只需要修改接口6381 6380

port 6381
daemonize no
# dir /usr/local/redis/data
# logfile "log-6380.log"
slaveof 127.0.0.1 6379

分别启动主,从1,从2服务端

redis-server /usr/local/redis/conf/reids-6379.conf
redis-server /usr/local/redis/conf/reids-6380.conf
redis-server /usr/local/redis/conf/reids-6381.conf

再启动相应的客户端

redis-cli -p 6379
redis-cli -p 6380
redis-cli -p 6381

此时进行测试
6379
进行写数据,分别再6380,6381 cli端获取数据如果都可以获取到主从配置就已经简单完成
主cli

$ info replication

Redis主从架构搭建详细步骤_linux_03


角色:mater

连接slaves数是2

slave0 slave1的ip,端口,连接状态,偏移量信息,lag 这个不是1就是0正常情况下6380 cli

Redis主从架构搭建详细步骤_Redis_04

2. 从中可以写入数据吗?

在从中写

Redis主从架构搭建详细步骤_linux_05


修改配置:

slave-read-only no

这种情况一般是主从从的时候使用

3.原理理解

我个人喜欢不管是什么先把他弄出来,理解不了无所谓出来效果了 再去理解,这样没那么抽象,也再搭建环境的时候会有些疑问,带着自己的疑问去理解更快
比如:
1.主的数据是如何同步到从中的?
2.主如果宕机整个系统是否就瘫痪了?
3.主,从的数据能保证一致性吗?
。。。
如果有些疑问我们就理解下原理,

3.1 主从复制介绍

Redis主从架构搭建详细步骤_分布式_06


Redis主从架构搭建详细步骤_分布式_07


Redis主从架构搭建详细步骤_linux_08


Redis主从架构搭建详细步骤_Redis_09

3.2 主从工作流程

Redis主从架构搭建详细步骤_java_10


Redis主从架构搭建详细步骤_redis_11


Redis主从架构搭建详细步骤_redis_12


我使用的方式3

Redis主从架构搭建详细步骤_分布式_13


Redis主从架构搭建详细步骤_java_14


Redis主从架构搭建详细步骤_linux_15


Redis主从架构搭建详细步骤_java_16


Redis主从架构搭建详细步骤_linux_17


Redis主从架构搭建详细步骤_linux_18