redis主从同步

Posted cuiyuanzhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis主从同步相关的知识,希望对你有一定的参考价值。

redis的主动同步是一个异步的过程,假设有A库和B库,其中主节点把数据分发给从节点,主节点对数据的修改会同步到从节点。
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设置为主库

技术分享图片

 

检查主从状态

 

以上是关于redis主从同步的主要内容,如果未能解决你的问题,请参考以下文章

威胁通告Redis主从同步代码执行漏洞预警通告

搭建一个简单的redis,主从同步功能

聊聊 Redis 主从同步

Redis 的主从同步(复制)

深入剖析redis主从同步机制

Redis 主从架构数据同步