运维——Redis主从复制的实现
分类:
文章
•
2025-03-13 20:46:09
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。
它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据 类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,
同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。
Redis 简介
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
Redis 与其他 key - value 缓存产品有以下三个特点:
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再 次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset, hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。
Redis 优势
性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执 行。单个操作是原子性的。
多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性
具体实现如下:一主二从
准备三台主机:
master:192.168.30.72
node1:192.168.30.73
node2:192.168.30.74
1、三台主机都安装Redis

2、修改主节点的配置文件
vim /etc/redis.conf
bind 0.0.0.0绑定本机所有地址
requirepass centos 设置认证信息
3、设置防火墙
iptables -vnL 查看防火墙策略将端口设置为允许
在测试环境中可直接使用iptables -F 清空防火墙策略
4、启动服务

Redis的默认端口6379已经正常监听
5、在另外两个从节点上配置
vim /etc/redis.conf
bind 0.0.0.0
slaveof 192.168.30.72 6379
masterauth centos
requirepass centos
systemctl start redis
6、此时一个简单的主从复制已经搭建完成,简单测试一下
在主节点执行client list 查看从节点信息

也可以使用INFO replication查看从节点的信息

此时可以在主节点设置值看是否能复制到从节点上去

在从节点上去查看


两个从节点都已经和主节点同步数据,此时一个简单的Redis主从复制就成功了。
注:在启动服务时如果启动失败解决办法:
1、检查配置文件中的配置是否有误,或者单词的拼写有误
2、检查配置文件的权限,属主应该是redis
3、检查防火墙是否阻止6379端口