`
raymond.chen
  • 浏览: 1436919 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Redis主从复制的配置

 
阅读更多

Redis 主从同步的过程

        配置好 slave 服务器连接的master后, slave 会建立和 master 的连接,然后发送 sync 命令。无论是第一次同步建立的连接还是连接断开后的重新连接, master 都会启动一个后台进程,将数据库快照保存到文件中.同时 master 主进程会开始收集新的写命令并缓存起来。当后台进程完成写文件后, master 就将快照文件发送给 slave , slave 将文件保存到磁盘上,然后加载到内存将数据库快照 恢复 到 slave 上。slave完成快照文件的恢复后, master 就会把缓存的命令都转发给 slave,slave更新内存数据库 。后续 master 收到的写命令都会通过开始建立的连接发送给 slave 。从 master 到 slave 的同步数据的命令和从 client到master 发送的命令使用相同的协议格式。当 master 和 slave 的连接断开时, slave 可以自动重新建立连接。如果 master 同时收到多个 slave 发来的同步连接命令,只会使用启动一个进程来写数据库镜像,然后发送给所有 slave 。

 

Redis 主从同步的特点

        主从同步具有明显的分布式缓存特点,主要包括这些方面:

                1 )一个 master 可以有多个 slave,一个slave也可以有多个slave ;

                2 ) slave 不仅可以连接到 master , slave 也可以连接其他 slave 形成树状结构;

                3 )主从同步不会阻塞 master,但是会阻塞slave 。也就是说当一个或多个 slave 与 master 进行初次同步数据时, master 可以继续处理 client 发来的请求。相反 slave 在初次同步数据时则会阻塞不能处理 client 的请求;

                4 )主从同步可以用来提高系统的可伸缩性,我们可以用多个 slave 专门处理 client 的读请求, 也可以用来做简单的数据冗余或者只在slave上进行持久化从而提升集群的整体性能。

 

主从复制优化要点:

        Master最好不要做任何持久化工作,包括内存快照和AOF日志文件,特别是不要启用内存快照做持久化。

        如果数据比较关键,某个Slave开启AOF备份数据,策略为每秒同步一次。

        为了主从复制的速度和连接的稳定性,Slave和Master最好在同一个局域网内。

        为了Master的稳定性,主从复制不要用图状结构,用单向链表结构更稳定,即主从关系为:Master<--Slave1<--Slave2<--Slave3

 

 Redis主从配置步骤:

1、编辑主从配置文件

    主配置文件:

include ./redis.conf
daemonize yes
pidfile /var/run/redis.pid
port 6379
bind 192.168.10.128
logfile /opt/redis/logs/redis.log
requirepass 123456

 

     从配置文件:

include ./redis.conf
daemonize yes
pidfile /var/run/redis2.pid
port 6380
bind 192.168.10.128
logfile /opt/redis/logs/redis2.log

slaveof 192.168.10.128 6379
masterauth 123456

requirepass 234567

 

2、启动主Redis:

        cd /opt/redis/bin

        redis-server ./local-redis.conf

        tail -f /opt/redis/logs/redis.log查看日志

 

3、启动从Redis:

        cd /opt/redis/bin2

        redis-server ./local-redis.conf

        tail -f /opt/redis/logs/redis2.log查看日志

 

4、测试数据同步:

        终端一:

                cd /opt/redis/bin

                redis-cli -h 192.168.10.128 -p 6379 -a 123456

                set cjm 123

                get cjm

 

        终端二:

                cd /opt/redis/bin2

                redis-cli -h 192.168.10.128 -p 6380 -a 234567

                get cjm

 

主从切换的步骤:

        停止主Redis

                redis-cli -h 192.168.10.128 -p 6379 -a 123456

                shutdown

        将从redis设成主redis

                redis-cli -h 192.168.10.128 -p 6380 -a 234567

                slaveof NO ONE

 

                测试从redis是否切换为主redis

                        set cjm 111

                        get cjm

 

        原来的主redis恢复正常了,要重新切换回去

                将现在的主redis的数据进行保存

                        redis-cli -h 192.168.10.128 -p 6380 -a 234567

                        save

                将现在的主redis根目录下dump.rdb文件拷贝覆盖到原来主redis的根目录

                        cp -frp /opt/redis/bin2/dump.rdb /opt/redis/bin/dump.rdb

                启动原来的主redis

                        redis-server ./local-redis.conf

                        tail -f /opt/redis/logs/redis.log

                在现在的主redis中切换

                        slaveof 192.168.10.128 6379

 

分享到:
评论

相关推荐

    Redis主从复制和集群配置

    ### Redis主从复制和集群配置详解 #### 一、Redis主从复制原理及配置 **1.1 概述** Redis的主从复制机制是一种重要的数据同步方式,它支持一个或多个从数据库(slave)与主数据库(master)之间进行数据同步。其中,...

    redis常用命令,redis配置文件,redis持久化,redis事务,redis主从复制,jedis的使用

    下面是对 Redis 的常用命令、配置文件、持久化、事务、主从复制、Jedis 使用的详细讲解。 Redis 常用命令 Redis 提供了很多有用的命令来管理和操作数据。下面是一些常用的 Redis 命令: * SET key value:设置...

    redis 主从服务器配置

    Redis 主从服务器配置 Redis 作为一个 NoSQL 型数据库,具有高性能、高扩展性和高可靠性的特点。在本文中,我们将详细介绍如何配置 Redis 主从服务器,以实现高可用性和高性能的缓存系统。 Redis 概述 Redis 是一...

    redis主从复制集群

    ### Redis 主从复制集群知识点详解 #### 一、Redis 主从复制概述 Redis 主从复制是一种数据冗余机制,主要用于实现读写分离、负载均衡以及数据备份等目的。通过搭建主从复制集群,可以有效避免单点故障问题,并且...

    LAMP架构+Redis主从复制.docx

    本文档主要介绍了LAMP架构的安装和配置,以及Redis主从复制的设置。LAMP架构是指Linux操作系统、Apache HTTP服务器、MySQL数据库和PHP编程语言的组合,而Redis则是一个开源的、基于内存的数据存储系统,本文将详细...

    redis主从配置及通过keepalived实现redis自动切换

    当 Master 恢复正常时,从 Slave 同步数据,同步数据之后关闭主从复制功能,恢复 Master 身份,于此同时 Slave 等待 Master 同步数据完成之后,恢复 Slave 身份。 2. Keepalived 介绍: Keepalived 是一个基于 ...

    Redis主从复制+哨兵配置手册.docx

    Redis 主从复制和哨兵配置手册 Redis 主从复制是一种高可用性解决方案,可以确保数据的安全和可靠性。在这个手册中,我们将详细介绍 Redis 主从复制的配置和哨兵的配置。 环境准备 在开始配置 Redis 主从复制之前...

    redis 主从配置demo

    在 Redis 的主从复制中,主节点负责接收客户端的写请求,并将修改操作(命令)传播到所有从节点。从节点则定期同步主节点的数据,确保与主节点保持一致。这样,即使主节点出现问题,从节点也能接管服务,保障系统的...

    windows下redis主从复制文件

    windows下redis主从复制。一个master,两个slave。附带博客介绍https://blog.csdn.net/xixiyuguang/article/details/105121660

    深入剖析Redis主从复制.pdf

    本文将深入探讨Redis主从复制的机制,包括全同步和部分同步的过程,以及积压空间在主从复制中的作用。 在Redis主从复制中,有两种同步方式:全同步和部分同步。全同步发生在主从服务器初次建立连接或从服务器需要...

    redis 主从切换 实现HA 的方法和工具

    Redis主从复制是其HA的基础,它允许一个Redis实例(主节点)的数据被多个实例(从节点)实时同步。当主节点出现问题时,可以快速切换到一个从节点继续提供服务。以下是主从复制的基本步骤: 1. 配置主节点:在主...

    redis 主从复制,多个哨兵相关配置

    redis服务配置,配置redis主从复制,多个哨兵监控redis主服务,自动切换服务

    Redis主从哨兵配置.rar

    一、Redis主从复制 1. **安装Redis**:首先,你需要在Linux服务器上安装Redis。可以通过包管理器如`apt-get`或`yum`进行安装,或者下载源码编译安装。 2. **启动Redis服务**:安装完成后,启动Redis服务,通常命令...

    keepalive+twemproxy+ redis主从安装配置的例子(linux)

    在实际部署中,Keepalive确保了Redis节点间的连接稳定,Twemproxy作为代理,负责将客户端请求分发到多个Redis实例,同时处理读写分离,而Redis主从复制则提供了数据的备份和故障恢复能力。这样的架构可以提高系统的...

    spring cache + redis 主从

    总结以上步骤,完成Redis主从配置与高可用哨兵模式的搭建,再整合Spring Cache,可以使应用程序在保证性能的同时具备高可用性。需要注意的是,所有的配置操作都需要在保证安全的前提下进行,避免生产环境下的操作...

    redis主从配置.zip

    配置Redis主从复制的步骤如下: 1. **启动Redis服务器**:确保主节点和从节点都已经正确安装并启动。主节点默认在6379端口运行,从节点可以在其他任意未使用的端口上启动。 2. **修改从节点配置**:在从节点的配置...

    2、redis主从复制以及密码、配置文件启动1

    在本例中,我们将探讨如何设置Redis主从复制,配置密码保护,通过配置文件启动Redis,并引入Sentinel哨兵系统来实现故障切换。 首先,我们需要准备至少三个Redis实例,一个作为主节点(master),两个作为从节点...

Global site tag (gtag.js) - Google Analytics