redis主从同步

redis的主从同步是一个异步的过程,假设有主库和从库,其中主节点把数据分发给从节点,主节点对数据的修改会同步到从节点。
redis集群中的数据库复制就是通过主从复制来实现的,优点在于高可用,redis节点有一定冗余性。

原理实现

1. 从服务器向主服务器发送 SYNC 命令。
2. 接到 SYNC 命令的主服务器会调用BGSAVE 命令,创建一个 RDB 文件,并使用缓冲区记录接下来执行的所有写命令。
3. 当主服务器执行完 BGSAVE 命令时,它会向从服务器发送 RDB 文件,而从服务器则会接收并载入这个文件。
4. 主服务器将缓冲区储存的所有写命令发送给从服务器执行。


示例

ps:查看redis的数据库信息的命令 redis-cli -p 6379 info;查看主从命令 redis-cli -p 6379 info  replication;

1.准备三个redis配置文件,通过端口的区分,启动三个redis数据库实例,然后配置主从复制。可以通过sed命令快速创建。

1,编辑并创建6379.conf配置文件
#vim 6379.conf

port 6379
daemonize yes
pidfile /data/6379/redis.pid
loglevel notice
logfile "/data/6379/redis.log"
dbfilename dump.rdb
dir /data/6379

2,#快速生成配置文件
sed "s/6379/6380/g" 6379.conf > 6380.conf 
sed "s/6379/6381/g" 6379.conf > 6381.conf 

2,启动三个实例。

redis-server 6379.conf
redis-server 6380.conf
redis-server 6381.conf

3,指定主库身份ip和端口。

slaveof 127.0.0.1 6379

由于是测试环境,并没有设置密码,生产环境一定要设置。

4,测试


 手动关闭主库,在把6380设置为主库

检查主从状态

原文地址:https://www.cnblogs.com/cuiyuanzhang/p/10211315.html