`
lp895876294
  • 浏览: 288343 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

redis主从配置

 
阅读更多

原文:http://www.cnblogs.com/zhaoguihua/p/redis-004.html

Redis 的主从复制配置非常容易,但我们先来了解一下它的一些特性。

  1. redis 使用异步复制。从 redis 2.8 开始,slave 也会周期性的告诉 master 现在的数据量。可能只是个机制,用途应该不大。
  2. 一个 master 可以拥有多个 slave,废话,这也是业界的标配吧。

  3. slave 可以接收来自其他 slave 的连接。意思是不是就是说 slave 在接收其他的slave的连接之后成为 master ?等下我们来验证。

  4. redis 复制在 master 这一端是非阻塞的,也就是说在和 slave 同步数据的时候,master 仍然可以执行客户端的操作命令而不受其影响。这点都不能保证,要你干嘛?
  5. redis 复制在 slave 这一端也是非阻塞的。在配置文件里面有 slave-serve-stale-data 这一项,如果它为 yes ,slave 在执行同步时,它可以使用老版本的数据来处理查询请求,如果是 no ,slave 将返回一个错误。在完成同步后,slave 需要删除老数据,加载新数据,在这个阶段,slave 会阻止连接进来。
  6. Replication can be used both for scalability, in order to have multiple slaves for read-only queries (for example, heavy SORT operations can be offloaded to slaves), or simply for data redundancy.这句话我也没理解什么意思。

  7. 使用复制可以避免 master 因为需要把全部的数据集写入磁盘而造成的开销,因此可以把 master 中 save 配置项全部注释掉,不让它进行保存,然后配置 slave ,让 slave 保存。虽然有这个特性,但是我们好像一般不这么做。

好吧,我们做几个例子练习一下。

先打开三个终端,然后起三个实例,分别用三个 client 去连接它们:

zhaoguihuadediannao:src zhaogh$ ./redis-server --port 10000 --daemonize yes

zhaoguihuadediannao:src zhaogh$ 

zhaoguihuadediannao:src zhaogh$ ./redis-cli -p 10000

端口10000的做 master。

slave 01:

zhaoguihuadediannao:src zhaogh$ ./redis-server --port 10001 --daemonize yes

zhaoguihuadediannao:src zhaogh$ 

zhaoguihuadediannao:src zhaogh$ ./redis-cli -p 10001

slave 02:

zhaoguihuadediannao:src zhaogh$ ./redis-server --port 10002 --daemonize yes

zhaoguihuadediannao:src zhaogh$ 

zhaoguihuadediannao:src zhaogh$ ./redis-cli -p 10002

上面只是让它们的实例启动了并用客户端去连接它,并没有设置主从关系。在 slave 01 和 slave 02 上执行下面的命令:

127.0.0.1:10001> slaveof 127.0.0.1 10000

OK

127.0.0.1:10001> 

这样就设置好了主从关系。我们来试试有没有效果。

127.0.0.1:10001> get testkey001

(nil)

127.0.0.1:10001> 

这个时候是没有值的。

master 上执行:

127.0.0.1:10000> set testkey001 testvalue001

OK

127.0.0.1:10000> 

然后看看 slave 上有没有:

127.0.0.1:10001> get testkey001

"testvalue001"

127.0.0.1:10001> 

127.0.0.1:10002> get testkey001

"testvalue001"

127.0.0.1:10002> 

有了,是不是比***点读机还 easy ?已经有了感性的认识,我们来介绍一下它的原理吧。

当你设置了主从关系后,slave 在第一次连接或者重新连接 master 时,slave 都会发送一条同步指令给 master ;

master 接到指令后,开始启动后台保存进程保存数据,接着收集所有的数据修改指令。后台保存完了,master 就把这份数据发送给 slave,slave 先把数据保存到磁盘,然后把它加载到内存中,master 接着就把收集的数据修改指令一行一行的发给 slave,slave 接收到之后重新执行该指令,这样就实现了数据同步。

slave 在与 master 失去联系后,自动的重新连接。如果 master 收到了多个 slave 的同步请求,它会执行单个后台保存来为所有的 slave 服务。

一旦 master 和 slave 在失去联系并重新连接上,总是会重新进行一次完整的同步。不过从 redis 2.8 开始,只是部分重新同步也是可以的。具体请大家参考官方文档。

祝大家端午节快乐。

分享到:
评论

相关推荐

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

    Redis 主从配置及通过 Keepalived 实现 Redis 自动切换 标题:Redis 主从配置及通过 Keepalived 实现 Redis 自动切换 描述: Redis 主从配置及通过 Keepalived 实现 Redis 自动切换常用命令及故障分析 标签:...

    redis 主从配置demo

    Redis 是一款高性能的键值数据库,广泛应用于缓存、消息队列等场景。...综上所述,Redis 的主从配置是实现高可用和读写分离的关键步骤。正确配置并监控主从节点的状态,可以有效提升 Redis 集群的稳定性和效率。

    redis 主从服务器配置

    Redis 主从配置非常简单,只需要在从机的 redis.conf 文件中添加两句配置即可。第一句是 `Port 6381`,表示从机的 Redis 服务器端口号为 6381。第二句是 `Slaveof 10.0.0.149 6383`,表示从机的 Redis 服务器将复制...

    redis主从配置.zip

    "redis主从配置"是一个关于如何在Redis中设置主从复制的教程压缩包,下面将详细介绍这个过程。 首先,我们要明白主从复制的基本概念。在Redis中,一个服务器作为主节点(Master),负责处理写请求并更新数据;多个...

    Redis主从配置说明 .docx

    ### Redis主从配置详解 #### 一、项目背景与需求分析 **项目概述:** 本项目的目的是为了满足B用户能够从其内部网络查看A正式环境系统中“护林员”的实时位置和轨迹信息的需求。考虑到A正式环境和B内网之间无法...

    redis主从配置-操作流程

    redis主从配置-操作流程

    redis主从配置及主从切换.rar

    本资料“redis主从配置及主从切换.rar”包含了关于如何设置Redis主从模式以及在故障时进行主从切换的详细教程,主要知识点如下: 1. **主从复制的基本概念**:主从复制是Redis中的一种数据备份策略,主节点负责处理...

    redis主从配置+sentinel哨兵模式

    ### Redis 主从配置与 Sentinel 哨兵模式详解 #### 一、Redis 主从配置 在分布式系统中,为了提高数据处理能力和系统的可用性,通常会采用 Redis 的主从复制模型。通过设置一个主节点(Master)和一个或多个从节点...

    redis主从配置以及哨兵模式配置

    ### Redis 主从配置及哨兵模式详解 #### 一、实验环境 - **Redis 版本**: Redis 4.0.6 - **操作系统**: Linux (安装于虚拟机中) - **宿主主机**: Windows 10 x64 - **远程终端工具**: Xshell 5 #### 二、主从...

    docker介绍及redis主从配置.pdf

    docker介绍及redis主从配置.pdf

    Redis主从复制和集群配置

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

    spring cache + redis 主从

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

    redis主从模式修改的配置文件.zip

    Redis 是一个高性能的键值数据库,...下载提供的"redis主从模式修改的配置文件.zip",解压后根据实际情况调整配置,再分别启动主从节点,即可实现数据的实时同步。记得在实践中不断学习和优化,以满足实际业务需求。

    linux下如何安装配置redis及主从配置

    Linux系统中安装和配置Redis数据库及其主从复制是一个复杂但非常重要的过程。本文将详细介绍Linux环境下Redis的安装步骤、配置过程以及主从复制的配置方法。 ### Redis简介 Redis是一个开源的使用内存存储的高性能...

    Redis主从搭建

    在进行Redis主从配置之前,首先需要完成单个Redis实例的安装部署工作。以下是详细的步骤: 1. **准备安装包**: - 将`redis-2.8.6.tar.gz`安装包拷贝到指定目录下。 2. **解压安装包**: - 使用命令`tar-...

    Redis主从配置

    【Redis主从配置详解】 Redis主从复制是一种高可用性解决方案,它允许数据在多个Redis实例之间进行同步,以防止单点故障导致的数据丢失。在主从架构中,有一个主要的Redis实例,被称为Master,负责处理所有写操作,...

    LAMP架构+Redis主从复制.docx

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

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

    通过以上详述,我们可以看到`Keepalive`、`Twemproxy`和Redis主从配置在构建高效、稳定的Redis集群中的重要角色。每个组件都有其特定的设置和优化点,理解并熟练掌握这些知识对于构建高性能的分布式系统至关重要。

    redis主从备份双机热备集群简洁配置方式

    redis主从备份双机热备集群简洁配置方式,主要配置redis.conf文件和sentinel.conf文件,可以实现主从自动切换,宕机也不怕

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

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

Global site tag (gtag.js) - Google Analytics