搜索
首页数据库RedisRedis实现主从复制的方法是什么

    一、Master&Slave是什么?

    也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主。

    二、它能干嘛?

    1、读写分离;

    2、容灾恢复。

    三、怎么玩?

    1、配从(库)不配主(库);

    2、从库配置:slaveof [主库IP] [主库端口];

    • 补充:每次slave与master断开后,都需要重新连接,除非你配置进redis.conf文件;

    • 键入info replication 可以查看redis主从信息。

    3、修改配置文件细节操作

    - 拷贝多个redis.conf文件

    Redis实现主从复制的方法是什么

    - 指定端口

    Redis实现主从复制的方法是什么

    - 开启daemonize yes

    Redis实现主从复制的方法是什么

    - Pid文件名字

    Redis实现主从复制的方法是什么

    - Log文件名字

    Redis实现主从复制的方法是什么

    - Dump.rdb名字

    Redis实现主从复制的方法是什么

    4、常用3招

    - 一主二仆

    Redis实现主从复制的方法是什么

    一个Master,两个Slave,Slave只能读不能写;当Slave与Master断开后需要重新slave of连接才可建立之前的主从关系;Master挂掉后,Master关系依然存在,Master重启即可恢复。

    - 薪火相传

    Redis实现主从复制的方法是什么

    上一个Slave可以是下一个Slave的Master,Slave同样可以接收其他slaves的连接和同步请求,那么该slave作为了链条中下一个slave的Master,如此可以有效减轻Master的写压力。如果从服务器在中途更改了数据同步的主服务器,旧数据将被清除并重新建立与最新主服务器的同步。

    - 反客为主

    当Master挂掉后,Slave可键入命令 slaveof no one使当前redis停止与其他Master redis数据同步,转成Master redis。

    四、复制原理

    1、Slave启动成功连接到master后会发送一个sync命令;

    2、Master接到命令启动后的存盘进程,同时收集所有接收到的用于修改数据集命令,在后台进程执行完毕之后,master 将传送整个数据文件到slave,以完成一次完全同步;

    3、全量复制:而slave服务在数据库文件数据后,将其存盘并加载到内存中;

    4、增量复制:Master继续将新的所有收集到的修改命令依次传给slave,完成同步;

    5、但是只要是重新连接master,一次完全同步(全量复制)将被自动执行。

    五、哨兵模式(sentinel)

    反客为主的自动版,能够后台监控Master库是否故障,如果故障了根据投票数自动将slave库转换为主库。一组sentinel能同时监控多个Master。

    使用步骤:

    1、在Master对应redis.conf同目录下新建sentinel.conf文件,名字绝对不能错;

    2、配置哨兵,在sentinel.conf文件中填入内容:

    • sentinel monitor 被监控数据库名字(自己起名字) ip port 1

    • 说明:上面最后一个数字1,表示主机挂掉后slave投票看让谁接替成为主机,得票数多少后成为主机。

    3、启动哨兵模式:

    • 命令键入:redis-sentinel /myredis/sentinel.conf

    • 注:上述sentinel.conf路径按各自实际情况配置

    六、复制的缺点

    延时,由于所有的写操作都是在Master上操作,然后同步更新到Slave上,所以从Master同步到Slave机器有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,Slave机器数量的增加也会使得这个问题更加严重。

    Redis master, slave节点部署详解

    1. 创建两个redis.conf文件, 一主一从

    redis_6379.conf
    redis_6380.conf

    2. master conf 主要配置

    bind 127.0.0.1
    port 6379
    protected-mode yes
    daemonize yes
    pidfile /var/run/redis_6379.pid
    logfile "/Data/apps/redis-3.2.12/logs/redis_6379.log"
    dbfilename dump_6379.rdb
    dir /Data/apps/redis-3.2.12/workplace
    requirepass paopao

    3. slave conf 主要配置

    bind 127.0.0.1
    port 6380
    protected-mode yes
    daemonize yes
    pidfile /var/run/redis_6380.pid
    logfile "/Data/apps/redis-3.2.12/logs/redis_6380.log"
    dbfilename dump_6380.rdb
    dir /Data/apps/redis-3.2.12/workplace
    slaveof 127.0.0.1 6379
    masterauth paopao

    4. 启动主从redis-server进程

    redis-server /Data/apps/redis-3.2.12/conf/redis_6379.conf
    redis-server /Data/apps/redis-3.2.12/conf/redis_6380.conf

    5.其他相关配置

    # 当从库同主机失去连接或者复制正在进行,从机库有两种运行方式:
    # 1) 如果slave-serve-stale-data设置为yes(默认设置),从库会继续相应客户端的请求
    # 2) 如果slave-serve-stale-data是指为no,除去INFO和SLAVOF命令之外的任何请求都会返回一个
    #    错误"SYNC with master in progress"
    slave-serve-stale-data yes
    slave-read-only yes
    # 从库会按照一个时间间隔向主库发送PINGs.可以通过repl-ping-slave-period设置这个时间间隔,默认是10秒
    repl-ping-slave-period 10
    # repl-timeout 设置主库批量数据传输时间或者ping回复时间间隔,默认值是60秒
    # 一定要确保repl-timeout大于repl-ping-slave-period
    repl-timeout 60
    # slave节点磁盘慢, 网速快时, 置为yes, master上的rdb文件将以socket方式传输, 跳过磁盘存储
    repl-diskless-sync no
    # 传输前等待秒数, 为了等待更多的slave节点加入
    repl-diskless-sync-delay 5
    # 传输时,是否禁用tcp nodelay
    repl-disable-tcp-nodelay no
    # 复制缓冲区大小
    repl-backlog-size 1mb
    # 复制缓冲区释放周期
    repl-backlog-ttl 3600
    # 为了sentinal模式, 选举master准备, 数值越小, 优先级越高
    slave-priority 100
    # require at least 3 slaves with a lag <= 10 seconds use
    min-slaves-to-write 3
    min-slaves-max-lag 10
    # 可覆盖bind, port 配置, 对外ip port
    slave-announce-ip 5.5.5.5
    slave-announce-port 1234

    以上是Redis实现主从复制的方法是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

    声明
    本文转载于:亿速云。如有侵权,请联系admin@php.cn删除
    了解NOSQL:Redis的关键特征了解NOSQL:Redis的关键特征Apr 13, 2025 am 12:17 AM

    Redis的关键特性包括速度、灵活性和丰富的数据结构支持。1)速度:Redis作为内存数据库,读写操作几乎瞬时,适用于缓存和会话管理。2)灵活性:支持多种数据结构,如字符串、列表、集合等,适用于复杂数据处理。3)数据结构支持:提供字符串、列表、集合、哈希表等,适合不同业务需求。

    REDIS:确定其主要功能REDIS:确定其主要功能Apr 12, 2025 am 12:01 AM

    Redis的核心功能是高性能的内存数据存储和处理系统。1)高速数据访问:Redis将数据存储在内存中,提供微秒级别的读写速度。2)丰富的数据结构:支持字符串、列表、集合等,适应多种应用场景。3)持久化:通过RDB和AOF方式将数据持久化到磁盘。4)发布订阅:可用于消息队列或实时通信系统。

    REDIS:流行数据结构指南REDIS:流行数据结构指南Apr 11, 2025 am 12:04 AM

    Redis支持多种数据结构,具体包括:1.字符串(String),适合存储单一值数据;2.列表(List),适用于队列和栈;3.集合(Set),用于存储不重复数据;4.有序集合(SortedSet),适用于排行榜和优先级队列;5.哈希表(Hash),适合存储对象或结构化数据。

    redis计数器怎么实现redis计数器怎么实现Apr 10, 2025 pm 10:21 PM

    Redis计数器是一种使用Redis键值对存储来实现计数操作的机制,包含以下步骤:创建计数器键、增加计数、减少计数、重置计数和获取计数。Redis计数器的优势包括速度快、高并发、持久性和简单易用。它可用于用户访问计数、实时指标跟踪、游戏分数和排名以及订单处理计数等场景。

    redis命令行怎么用redis命令行怎么用Apr 10, 2025 pm 10:18 PM

    使用 Redis 命令行工具 (redis-cli) 可通过以下步骤管理和操作 Redis:连接到服务器,指定地址和端口。使用命令名称和参数向服务器发送命令。使用 HELP 命令查看特定命令的帮助信息。使用 QUIT 命令退出命令行工具。

    redis集群模式怎么搭建redis集群模式怎么搭建Apr 10, 2025 pm 10:15 PM

    Redis集群模式通过分片将Redis实例部署到多个服务器,提高可扩展性和可用性。搭建步骤如下:创建奇数个Redis实例,端口不同;创建3个sentinel实例,监控Redis实例并进行故障转移;配置sentinel配置文件,添加监控Redis实例信息和故障转移设置;配置Redis实例配置文件,启用集群模式并指定集群信息文件路径;创建nodes.conf文件,包含各Redis实例的信息;启动集群,执行create命令创建集群并指定副本数量;登录集群执行CLUSTER INFO命令验证集群状态;使

    redis怎么读取队列redis怎么读取队列Apr 10, 2025 pm 10:12 PM

    要从 Redis 读取队列,需要获取队列名称、使用 LPOP 命令读取元素,并处理空队列。具体步骤如下:获取队列名称:以 "queue:" 前缀命名,如 "queue:my-queue"。使用 LPOP 命令:从队列头部弹出元素并返回其值,如 LPOP queue:my-queue。处理空队列:如果队列为空,LPOP 返回 nil,可先检查队列是否存在再读取元素。

    redis集群zset怎么使用redis集群zset怎么使用Apr 10, 2025 pm 10:09 PM

    Redis 集群中使用 zset:zset 是一种有序集合,将元素与评分关联。分片策略: a. 哈希分片:根据 zset 键的哈希值分布。 b. 范围分片:根据元素评分划分为范围,并将每个范围分配给不同的节点。读写操作: a. 读操作:如果 zset 键属于当前节点的分片,则在本地处理;否则,路由到相应的分片。 b. 写入操作:始终路由到持有 zset 键的分片。

    See all articles

    热AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智能驱动的应用程序,用于创建逼真的裸体照片

    AI Clothes Remover

    AI Clothes Remover

    用于从照片中去除衣服的在线人工智能工具。

    Undress AI Tool

    Undress AI Tool

    免费脱衣服图片

    Clothoff.io

    Clothoff.io

    AI脱衣机

    AI Hentai Generator

    AI Hentai Generator

    免费生成ai无尽的。

    热门文章

    R.E.P.O.能量晶体解释及其做什么(黄色晶体)
    3 周前By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.最佳图形设置
    3 周前By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.如果您听不到任何人,如何修复音频
    3 周前By尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25:如何解锁Myrise中的所有内容
    4 周前By尊渡假赌尊渡假赌尊渡假赌

    热工具

    mPDF

    mPDF

    mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

    WebStorm Mac版

    WebStorm Mac版

    好用的JavaScript开发工具

    VSCode Windows 64位 下载

    VSCode Windows 64位 下载

    微软推出的免费、功能强大的一款IDE编辑器

    EditPlus 中文破解版

    EditPlus 中文破解版

    体积小,语法高亮,不支持代码提示功能

    螳螂BT

    螳螂BT

    Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。