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主从同步的主要内容,如果未能解决你的问题,请参考以下文章