Redis主从复制架构是用来解决数据的冗余备份的,主节点用来对外提供服务,从节点仅仅用来同步数据。
准备三台机器并修改配置
说明:由于是个人笔记本,开启3个虚拟机比较消耗内存,所以使用一台机器+不同的端口来进行模拟端口约定:
master节点:port 6379
slave1节点:port 7379
slave2节点:port 8379
在 /myconf/redis 目录分别创建 mkdir master slave1 slave2 文件夹,用于存放配置文件;
# 分别拷贝/myconf目录的 redis6379_standAlone_aof.conf 文件至上述新创建的三个文件夹,并重命名
cp redis6379_standAlone_aof.conf master/redis6379.conf
cp redis6379_standAlone_aof.conf slave1/redis7379.conf
cp redis6379_standAlone_aof.conf slave2/redis8379.conf
- # 修改redis6379.conf的配置,修改内容如下
- port 6379
- # requirepass 123456
- bind 0.0.0.0
- # 修改redis7379.conf的配置,修改内容如下
- port 7379
- # requirepass 123456
- bind 0.0.0.0
- slaveof masterip masterport
- # 修改redis8379.conf的配置,修改内容如下
- port 8379
- # requirepass 123456
- bind 0.0.0.0
- slaveof masterip masterport
# 启动6379服务(主服务)
./redis-server /myconf/redis/master/redis6379.conf# 启动7379服务(slave1服务)
./redis-server /myconf/redis/slave1/redis7379.conf# 启动8379服务(slave2服务)
./redis-server /myconf/redis/slave2/redis8379.conf
./redis-cli -p 6379 --raw
./redis-cli -p 7379 --raw
./redis-cli -p 8379 --raw
至此,Redis的主从复制架构已经搭建完毕,那么如何测试呢?
思路:往Redis主节点设置值,观察slave1、slave2节点能否拿到值结果分析:通过下述的测试结果发现,当主节点设置新值后,从节点顺利的拿到了值,至此主从复制搭建测试完毕