Redis主从同步

主从同步原理

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

 

修改配置文件

vim redis-6379.confport 6379
daemonize yes
pidfile /data/6379/redis.pid
loglevel notice
logfile "/data/6379/redis.log"
protected-mode yes
# RDB配置
dir /data/6379
dbfilename dbmp.rdb
save 900 1
save 300 10
save 60 10000# AOF配置
#appendonly yes
#appendfsync everysec
vim redis-6380.confport 6380
daemonize yes
pidfile /data/6380/redis.pid
loglevel notice
logfile "/data/6380/redis.log"
protected-mode yes
# RDB配置
dir /data/6380
dbfilename dbmp.rdb
save 900 1
save 300 10
save 60 10000# 主从同步
slaveof 127.0.0.1 6379# AOF配置
#appendonly yes
#appendfsync everysec
vim redis-6381.confport 6381
daemonize yes
pidfile /data/6381/redis.pid
loglevel notice
logfile "/data/6381/redis.log"
protected-mode yes
# RDB配置
dir /data/6381
dbfilename dbmp.rdb
save 900 1
save 300 10
save 60 10000# 主从同步
slaveof 127.0.0.1 6379# AOF配置
#appendonly yes
#appendfsync everysec

 

启动三个实例

[root@localhost redis-4.0.12]# redis-server redis-6379.conf 
[root@localhost redis-4.0.12]# redis-server redis-6380.conf 
[root@localhost redis-4.0.12]# redis-server redis-6381.conf 

 

查看主从状态

# 6379
[root@localhost ~]# redis-cli -p 6379 info replication
# Replication
role:master
connected_slaves:2
slave0:ip=127.0.0.1,port=6380,state=online,offset=196,lag=1
slave1:ip=127.0.0.1,port=6381,state=online,offset=196,lag=0
master_replid:0f3b54ebd09f5cc585c33c9872f005f1437d25e1
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:196
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:196
# 6380
[root@localhost ~]# redis-cli -p 6380 info replication
# Replication
role:slave
master_host:127.0.0.1
master_port:6379
master_link_status:up
master_last_io_seconds_ago:1
master_sync_in_progress:0
slave_repl_offset:210
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:0f3b54ebd09f5cc585c33c9872f005f1437d25e1
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:210
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:210
# 6381
[root@localhost ~]# redis-cli -p 6381 info replication
# Replication
role:slave
master_host:127.0.0.1
master_port:6379
master_link_status:up
master_last_io_seconds_ago:0
master_sync_in_progress:0
slave_repl_offset:224
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:0f3b54ebd09f5cc585c33c9872f005f1437d25e1
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:224
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:224

 

方式二(不修改配置文件,重启服务后失效):

操作

127.0.0.1:6381> slaveof 127.0.0.1 6379
127.0.0.1:6380> slaveof 127.0.0.1 6379

 

查看状态

[root@localhost ~]# redis-cli -p 6379
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:0
master_replid:d0fff3d6587307c4d3072cc92a6e16bdd91e291d
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
[root@localhost redis-4.0.12]# redis-cli -p 6380
127.0.0.1:6380> info replication
# Replication
role:master
connected_slaves:0
master_replid:a9960a82a571793eae37e322143a3ef1caee75e5
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
127.0.0.1:6381> info replication
# Replication
role:master
connected_slaves:0
master_replid:fd7b3f7a0c98a0dcd2fb3d4a7a8b7fde6e09238b
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

 

转载于:https://www.cnblogs.com/st-st/p/10273217.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248644.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BigDecimal转String,int,double及简单操作运算、方法

---恢复内容开始---1.字符型数据:char\varchar\text这几种数据类型都是用来装字符串的char 固定长度存储数据varcahr 按变长存储数据text 当你需要存储非常大量的字符串时使用nchar、nvarchar、ntext这几个也是存储字符串的,与上面的对应相同。唯一不同的…

一文吃透PHP和HTML的嵌套写法

1.1全部php生成结构 1.2html中嵌套php 总结如下&#xff1a; html和php混写规则&#xff1a; php代码必须包在<?php ?>html中写php也是同理&#xff0c;但是有值输出必须加上echo 1.3博客项目 1.3.1前后台 前台主要是做数据展示的&#xff0c;所有的用户通过访问域…

hello.cpp 第一个C++程序(本博客没有特指都是以QT测试)

操作步骤&#xff1a;1.文件->新建文件或项目(N)->New File or Project->Qt Console Application->Choose->“名称”中输入工程名称->“创建路径”中输入保存位置->下一步->选择“工具包”->下一步->完成。 1.新标准 1 #include <iostream>…

一文看懂 GD2库

文章目录一、 GD2简介1、 验证码&#xff08;实际上是一个img&#xff09;二、 GD2库使用步骤2.1添加扩展2.2修改php配置文件2.3重启服务三、 GD2里面的常用方法3.1 imagecreate3.2 imagecolorallocate3.3 imagefill3.4 输出图像资源3.5创建真彩画布3.6在图像中写文字3.6.1imag…

算法实践--最小生成树(Kruskal算法)

什么是最小生成树(Minimum Spanning Tree) 每两个端点之间的边都有一个权重值&#xff0c;最小生成树是这些边的一个子集。这些边可以将所有端点连到一起&#xff0c;且总的权重最小 下图所示的例子&#xff0c;最小生成树是{cf, fa, ab} 3条边 Kruskal算法 用到上一篇中介绍的…

洽谈 “会话技术” 纯干货赶紧收藏吧

文章目录一、 HTTP协议二、 会话三、 cookie3.1概念和设置cookie3.2读取cookie3.3设置cookie有效期3.4cookie是跨页面的3.5删除cookie3.6登录案例3.7cookie特点四、 session4.1概念4.2设置session4.3获取session4.4清除session4.5模拟购物车案例一、 HTTP协议 HTTP协议是Hyper…

[bzoj2729][HNOI2012]排队 题解 (排列组合 高精)

Description 某中学有 n 名男同学&#xff0c;m 名女同学和两名老师要排队参加体检。他们排成一条直线&#xff0c;并且任意两名女同学不能相邻&#xff0c;两名老师也不能相邻&#xff0c;那么一共有多少种排法呢&#xff1f;&#xff08;注意&#xff1a;任意两个人都是不同的…

详解 正则表达式

文章目录一、概念二、作用三、语法规则3.1定义规则3.2符号简介3.3preg_match用法详解3.4详解元字符3.4.1 \d和[0-9]3.4.2 \D和[^0-9]3.4.3^和$3.4.4*代表出现0次或者多次3.4.5代表出现1次或者多次3.4.5&#xff1f;代表出现0次或者1次3.4.6{n}3.4.7{n,}3.4.8{n,m}3.4.9点号&…

Java:控制台输入车辆信息,将信息保存至数据库中

程序功能&#xff1a;控制台输入车辆信息&#xff0c;将信息保存至数据库中 程序代码如下&#xff1a; BaseDao.java package DAO_dome.kehozuoye; import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;i…

echars 3D地图为区域自定义颜色

echars 3D地图为区域自定义颜色问题延伸解决问题问题 根据项目需求&#xff0c;我们要将下面省级地图中的个别市进行高亮&#xff08;不同颜色&#xff09;展示 延伸 首先跟大家介绍这个地图的展示方式&#xff1a; 采用的是Vue框架中运用echarts地图采用的是geo3D和scatt…

linux每日命令(31):tar命令

阅读目录(Content) 一&#xff0e;命令格式二. 命令功能三. 命令参数必要参数选择参数四. 常见解压、压缩命令tar.gz.tar.gz 和 .tgz.bz2.tar.bz2.bz.tar.bz.Z.tar.Z.zip.rar五. 使用实例1&#xff1a;将文件全部打包成tar包2&#xff1a;查阅上述 tar包内有哪些文件3&#xff…

一文带你吃透BFC

文章目录面试高出场率什么是BFC触发BFC的条件BFC的约束规则BFC可以解决的问题面试高出场率 在前端的面试中&#xff0c;经常会遇到BFC的问题&#xff0c;比如&#xff1a;说说你对BFC的理解、你在项目中运用到的BFC、BFC是什么、BFC的作用是什么。。。。 很多同学很懵逼&…

基于Python语言使用RabbitMQ消息队列(一)

介绍 RabbitMQ 是一个消息中间人&#xff08;broker&#xff09;: 它接收并且发送消息. 你可以把它想象成一个邮局: 当你把想要寄出的信放到邮筒里时, 你可以确定邮递员会把信件送到收信人那里. 在这个比喻中, RabbitMQ 就是一个邮筒, 同时也是邮局和邮递员 . 和邮局的主要不同…

爆赞程序猿开发软件

VSCode 使用 IntelliSense 超越语法突出显示和自动完成&#xff0c;它提供基于变量类型、函数定义和导入模块的智能完成 直接从编辑器调试代码。启动或附加到您正在运行的应用程序并使用断点、调用堆栈和交互式控制台进行调试 与 Git 和其他 SCM 提供商合作从未如此简单。查…

如果你在北京失业了,别怕,记得去领这笔钱!最少2034元/月!

人在江湖飘&#xff0c;哪能不挨刀 公司倒闭&#xff0c;老板走人&#xff0c;公司裁人 …… 就要被迫失业了 别怕! 如果你在北京失业了 记得去领这笔钱——失业保险金 每月最多有2143元 虽然钱不多&#xff0c;但能解燃眉之急 帮助你度过困难日子 重点全程网上就能…

真实诠释程序员日常的二十四张图【你中了几个】

当你打开遗留代码时 扒下来项目后改了一行代码…… 程序员调试css样式的时候 当你的try catch 不起作用 产品经理对你说要兼容IE 没有ui给你提供大小设计的结果 没吃透需求直接开发的你 程序员修复bug的真实处境 当你开始使用库&#xff0c;但忘记阅读文档 产品经理告诉你这只是…

Git学习原版手稿

手稿诞生记 Git学习的时候难免会有遗忘然后往复学习查看的过程&#xff0c;所以就形成了这个学习的手稿&#xff0c;记录了Git使用过程中的大部分命令&#xff0c;今天在清理的时候偶然看到了这些记录&#xff0c;而且最近也在写Git的使用教程&#xff0c;大致的学习线路也是按…

程序员首选编程电脑【火爆来袭】

作为一名程序员肯定会常用到一些编程软件&#xff0c;所以需要设备的配置参数上不能太差&#xff0c;不仅是要以稳定强大输出为基本&#xff0c;内存、音响、续航等方面也不可或缺。 直奔主题 如果你手里资金到位&#xff0c;那必须整一步到位——MacBook 对于这款大佬型笔记本…

201671010456-张琼 实验十四 团队项目评审课程学习总结

博文简要信息表 项目内容这个作业属于哪个课程http://www.cnblogs.com/nwnu-daizh/这个作业的要求在哪里https://www.cnblogs.com/nwnu-daizh/p/11093584.html课程学习目标掌握软件项目评审会流程&#xff0c;反思总结课程学习内容。任务一 验收意见表GitHub仓库地址https://gi…

强大的APIClound云修复——告别繁琐的编译打包流程

小编接到一项目的二期开发任务&#xff0c;拉下代码开始熟悉大概的框架、技术、上线流程等前期工作&#xff0c;本app是通过vue技术进行开发&#xff0c;使用ui是 vant 库&#xff0c;打包上线则是使用的 APIClound 平台&#xff1b; 在我们的app上线后&#xff0c;如果我们改…