当前位置: 首页 > news >正文

redis---主从复制

主从复制是指将一台redis服务器的数据复制到其他redis服务器,也叫主节点和从节点。

一个主节点可以有多个从节点。而每个从节点只能有一个主节点。数据的复制是单向的,只能由主节点到从节点。一般来说,主节点负责写操作,从节点负责读操作。主节点会将自己的数据变化,通过异步的方式发送给从节点,从节点接收到主节点的数据之后更新自己的数据,这样就达到了数据一致的目的。

配置主从复制

主节点不需要修改任何配置,因为默认的配置就是主节点,只需要修改从节点的配置就可以了。

修改的方式有两种,一种是通过命令行执行命令,另一种是通过配置文件来修改。

命令行的话就是使用slaveof命令来直接指定主节点的IP和端口。这种方式不是很常用

我们主要讲一下,通过配置文件来修改的方式。

redis的配置文件时redis.conf这个文件,一般在redis的安装目录下

把配置文件复制到根目录

回到根目录再来复制一个6380的文件,把它作为从节点的配置文件。6380就是我们待会要使用的从节点的端口号

用vscode来打开一下这个配置文件。我们只需要改以下的几个东西。

1、端口号改为6380

2、把pidfile这个配置项也改成6380。PID也就是进程ID,为了和主节点的PID文件区分开。

redis是以守护进程的方式运行,系统默认会把pid写入到这个文件里面。因为这里我们要启动多个redis服务,所以要把pid文件区分开

这个加上端口号,这个就是之前我们说的持久化文件了。当我们执行save或者bgsave命令的时候,就会把内存中的数据保存到这个文件里面。为了区分开主节点和从节点的数据,我们也要把这个文件名加上端口号

replicaof是用来指定主节点,默认是注释掉的。

我们复制一行,IP地址改成127.0.0.1,端口号改成6379.表示我们现在配置的节点是6379这个库的从节点

我们打开一个新得终端,来启动一下这个从节点。方式和之前一样,使用redis-server命令加上刚刚修改完得6380配置文件

我们再来启动一个客户端。来连接一下从节点

连接成功之后,使用info replication命令来查看信息,可以看到这个从节点得角色是slave。表示这个节点是一个从节点,对应的主节点端口号是6379。这样就表示主从复制已经配置成功了

我们再打开一个终端来连接一下主节点。使用keys命令来查看一下两边数据是否一致。

两边都有添加

从节点上的数据与主节点是一样的,主节点的数据变化会自动同步到从节点上。当然从节点也可以配置多个

比如可以把6380文件复制一个6381出来

然后使用vi编辑器,来将文件中的端口号6380整体替换成6381,用这个命令直接替换。

然后使用:wq保存推出。

再来启动一下这个从节点,打开一个新的终端,找到6381

主节点可以看到已经连接了两个从节点。一主两从

http://www.lryc.cn/news/331884.html

相关文章:

  • 搜索引擎-03-搜索引擎原理
  • mysql语句学习
  • 【Apache Doris】周FAQ集锦:第 1 期
  • Windows创建远程线程学习
  • 使用c语言libexpat开源库解析XML数据
  • 51单片机入门_江协科技_19~20_OB记录的笔记
  • 基于k8s的高性能综合web服务器搭建
  • Folder Icons for Mac v1.8 激活版文件夹个性化图标修改软件
  • Gitee上传私有仓库
  • HTMLCSSJS
  • 第14章 数据结构与集合源码
  • 分享react+three.js展示温湿度采集终端
  • 易宝OA ExecuteSqlForDataSet SQL注入漏洞复现
  • C++语言学习(二)——⭐缺省参数、函数重载、引用
  • qt通过setProperty设置样式表笔记
  • Sora文本生成视频(附免费的专属提示词)
  • Flask Python:数据库多条件查询,flask中模型关联
  • Spring Security 实现后台切换用户
  • 《QT实用小工具·一》电池电量组件
  • 基于springboot实现墙绘产品展示交易平台管理系统项目【项目源码+论文说明】计算机毕业设计
  • 主流公链文章整理
  • css3之3D转换transform
  • SpringBoot -- 外部化配置
  • 优酷动漫顶梁柱!神话大乱炖的修仙番为何火爆?
  • 每日一题:C语言经典例题之判断实数相等
  • 【算法每日一练]-数论(保姆级教程 篇1 埃氏筛,欧拉筛)
  • 【剑指offr--C/C++】JZ59 滑动窗口的最大值
  • RabbitMQ Tutorial
  • 如何对Webpack进行优化
  • nut-ui中的menu 菜单组件的二次封装