一、 集群介绍
Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构。下面是关于redis主从复制的一些特点:
1.master可以有多个slave
2.除了多个slave连到相同的master外,slave也可以连接其他slave形成图状结构
3.主从复制不会阻塞master。也就是说当一个或多个slave与master进行初次同步数据时,master可以继续处理client发来的请求。相反slave在初次同步数据时则会阻塞不能处理client的请求。
4.主从复制可以用来提高系统的可伸缩性,我们可以用多个slave 专门用于client的读请求,比如sort操作可以使用slave来处理。也可以用来做简单的数据冗余
5.可以在master禁用数据持久化,只需要注释掉master 配置文件中的所有save配置,然后只在slave上配置数据持久化。
下面介绍下主从复制的过程
当设置好slave服务器后,slave会建立和master的连接,然后发送sync命令。无论是第一次同步建立的连接还是连接断开后的重新连 接,master都会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存起来。后台进程完成写文件 后,master就发送文件给slave,slave将文件保存到磁盘上,然后加载到内存恢复数据库快照到slave上。接着master就会把缓存的命 令转发给slave。而且后续master收到的写命令都会通过开始建立的连接发送给slave。从master到slave的同步数据的命令和从 client发送的命令使用相同的协议格式。当master和slave的连接断开时slave可以自动重新建立连接。如果master同时收到多个 slave发来的同步连接命令,只会使用启动一个进程来写数据库镜像,然后发送给所有slave。
二、 配置
下面我演示下怎样在多台服务器上进行Redis数据主从复制。我假设有两台服务器,一台是Linux操作系统(局域网IP:192.168.1.4,master服务器),一台是Linux操作系统(局域网IP:192.168.1.5,slave服务器)
配置slave服务器很简单,只需要在配置文件(redis.conf)中加入如下配置
bind 192.168.1.5(从服务器,此处默认是127.0.0.1,请修改成本机的IP地址,要不然,客户端无法进行访问)
slaveof 192.168.1.4 6379 (映射到主服务器上)
如果是在一台机器上面配置主从关系,那么还需要修改从服务器的默认端口号,同样也在redis.conf中进行修改。
其中还有些redis自身的配置请参见我的另一篇文章
三、 测试
当启动master机器后,写入数据到master后,这时启动slave机器,可以发现slave上:
会发送一个SYNC请求,从Master上面进行相应,而且它支持自动重连,即当master掉线的情况下,它会处于等待请求的状态。
而Master上:
两台机器的dump文件大小一样:
192.168.1.5(slave):
192.168.1.4(master):
从Redis源码中,可以发现rdb文件采用的是lzf压缩算法进行实现,默认lzf压缩算法是开启的。
这样你可以通过其他的客户端程序或者Web平台去读取Slave磁盘数据库的数据,真正达到了读写分离的目的。
分享到:
相关推荐
### Redis主从复制和集群配置详解 #### 一、Redis主从复制原理及配置 **1.1 概述** Redis的主从复制机制是一种重要的数据同步方式,它支持一个或多个从数据库(slave)与主数据库(master)之间进行数据同步。其中,...
下面是对 Redis 的常用命令、配置文件、持久化、事务、主从复制、Jedis 使用的详细讲解。 Redis 常用命令 Redis 提供了很多有用的命令来管理和操作数据。下面是一些常用的 Redis 命令: * SET key value:设置...
Redis 主从服务器配置 Redis 作为一个 NoSQL 型数据库,具有高性能、高扩展性和高可靠性的特点。在本文中,我们将详细介绍如何配置 Redis 主从服务器,以实现高可用性和高性能的缓存系统。 Redis 概述 Redis 是一...
### Redis 主从复制集群知识点详解 #### 一、Redis 主从复制概述 Redis 主从复制是一种数据冗余机制,主要用于实现读写分离、负载均衡以及数据备份等目的。通过搭建主从复制集群,可以有效避免单点故障问题,并且...
本文档主要介绍了LAMP架构的安装和配置,以及Redis主从复制的设置。LAMP架构是指Linux操作系统、Apache HTTP服务器、MySQL数据库和PHP编程语言的组合,而Redis则是一个开源的、基于内存的数据存储系统,本文将详细...
当 Master 恢复正常时,从 Slave 同步数据,同步数据之后关闭主从复制功能,恢复 Master 身份,于此同时 Slave 等待 Master 同步数据完成之后,恢复 Slave 身份。 2. Keepalived 介绍: Keepalived 是一个基于 ...
Redis 主从复制和哨兵配置手册 Redis 主从复制是一种高可用性解决方案,可以确保数据的安全和可靠性。在这个手册中,我们将详细介绍 Redis 主从复制的配置和哨兵的配置。 环境准备 在开始配置 Redis 主从复制之前...
在 Redis 的主从复制中,主节点负责接收客户端的写请求,并将修改操作(命令)传播到所有从节点。从节点则定期同步主节点的数据,确保与主节点保持一致。这样,即使主节点出现问题,从节点也能接管服务,保障系统的...
windows下redis主从复制。一个master,两个slave。附带博客介绍https://blog.csdn.net/xixiyuguang/article/details/105121660
本文将深入探讨Redis主从复制的机制,包括全同步和部分同步的过程,以及积压空间在主从复制中的作用。 在Redis主从复制中,有两种同步方式:全同步和部分同步。全同步发生在主从服务器初次建立连接或从服务器需要...
Redis主从复制是其HA的基础,它允许一个Redis实例(主节点)的数据被多个实例(从节点)实时同步。当主节点出现问题时,可以快速切换到一个从节点继续提供服务。以下是主从复制的基本步骤: 1. 配置主节点:在主...
redis服务配置,配置redis主从复制,多个哨兵监控redis主服务,自动切换服务
一、Redis主从复制 1. **安装Redis**:首先,你需要在Linux服务器上安装Redis。可以通过包管理器如`apt-get`或`yum`进行安装,或者下载源码编译安装。 2. **启动Redis服务**:安装完成后,启动Redis服务,通常命令...
在实际部署中,Keepalive确保了Redis节点间的连接稳定,Twemproxy作为代理,负责将客户端请求分发到多个Redis实例,同时处理读写分离,而Redis主从复制则提供了数据的备份和故障恢复能力。这样的架构可以提高系统的...
总结以上步骤,完成Redis主从配置与高可用哨兵模式的搭建,再整合Spring Cache,可以使应用程序在保证性能的同时具备高可用性。需要注意的是,所有的配置操作都需要在保证安全的前提下进行,避免生产环境下的操作...
配置Redis主从复制的步骤如下: 1. **启动Redis服务器**:确保主节点和从节点都已经正确安装并启动。主节点默认在6379端口运行,从节点可以在其他任意未使用的端口上启动。 2. **修改从节点配置**:在从节点的配置...
在本例中,我们将探讨如何设置Redis主从复制,配置密码保护,通过配置文件启动Redis,并引入Sentinel哨兵系统来实现故障切换。 首先,我们需要准备至少三个Redis实例,一个作为主节点(master),两个作为从节点...