Redis数据库主从复制配置详解

一、复制基本配置与演示

 

  为了避免单点故障,Redis提供了复制功能,可以实现自动同步的过程。

 

  1、配置

 

  同步后的数据分为两类:一类是主数据库(master),一类是从数据库(slave)。主数据库可以进行读写操作,当发生写操作时自动将数据同步给从数据库。而从数据一般只读,并接受主数据库同步过来的数据。

 

  在Redis使用复制功能,只需要在从数据库的配置文件中加入"salveof 主数据库IP 主数据库端口"即可,主数据库无需进行任何配置。

 

  2、Redis复制演示

 

  下面我们在同一台服务器上启动两个Redis实例,监听不同的端口,其中一个作为主数据库,另一个作为从数据库。

 

  首先,我们要复制一个Redis服务的配置文件,并取名为redis6380.conf。

 

  

 

  我们修改redis6380.conf配置文件中的端口号为6380,并且配置改Redis实例为主数据库的从数据库。

 

  

 

  配置从数据库

 

  

 

  接着,我做了两个启动Redis的bat批处理文件,用于启动两个Redis数据库:

 

  

 

  内容分别是:

 

 redis-server  redis.windows.conf    //启动主数据库

 

redis-server  redis6380.conf       //启动从数据库

 

  现在我们启动主从数据库的客户端:

 

  主数据库的客户端就在Redis的安装目录下,双击redis-cli.exe即可。

 

  

 

  从数据库的启动,我们打开cmd,进入Redis的目录,输入

 

  

 

  这样,我们就有了两个Redis数据库服务端和客户端,下面就来演示复制的功能:

 

  首先,在主数据库中输入

 

  

 

  然后,在从数据库的客户端,我们进行查询操作

 

  

 

  可以看到,在从数据库中获取的name属性的值。

 

  注:除了通过配置文件或命令行设置slaveof参数,还可以在运行时使用slaveof命令修改:

 

  

 

  如果该数据库已经是其他主数据库的从数据库了,slaveof命令会停止和原来的数据库的同步转而和新的数据库进行同步。

 

二、复制原理

 

  当一个数据库启动后,会向主数据库发送SYNC命令,主数据库收到SYNC命令后开始在后台保存快照,并将保存期间收到的命令缓存起来。当快照完成后,Redis会将快照文件和所有的缓存的命令发送给从数据库,从数据库接收到后,会载入快照文件并执行收到的缓存的命令。当主从数据库断开重连后会重新执行上述操作。

 

三、从数据库持久化

 

  为了提高性能,可以通过复制功能简历若干个从数据库,并在从数据库中启用持久化,同时在主数据中禁用持久化。当从数据库崩溃时重启后主数据会自动将数据同步过来,所以无需担心数据丢失。而当主数据库崩溃时,需要在从数据库中使用slaveof no one 命令将从数据库提升为主数据继续服务,并将原来的主数据库启动后使用slaveof命令将其设置为新的主数据库的从数据库,即可将新的数据同步过来

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据库
, 文件
, 数据
, 缓存
, redis
配置
redis数据库主从配置、数据库主从复制、mysql数据库主从复制、数据库主从复制原理、数据库的主从复制,以便于您获取更多的相关知识。

时间: 2024-11-07 02:50:22

Redis数据库主从复制配置详解的相关文章

redis数据库参数配置文件详解

# Redis 配置文件 # 当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写) # # 1k => 1000 bytes # 1kb => 1024 bytes # 1m => 1000000 bytes # 1mb => 1024*1024 bytes # 1g => 1000000000 bytes # 1gb => 1024*1024*1024 bytes # # 内存配置大小写是一样的.比如 1gb 1G

CentOS 6.5 下MySQL 5.7.12主从复制配置详解

为什么使用主从架构? 1.实现服务器负载均衡: 2.通过复制实现数据的异地备份: 3.提高数据库系统的可用性: 4.可以分库[垂直拆分],分表[水平拆分]: 主从配置的前提条件 1.MySQL版本一致: 你还没有安装MySQL? 请参考:CentOS 6.5 下安装MySQL 5.7.12,使用官网下载的rpm安装包 2.MySQL中的数据一致: 不一致就把它们搞一致! 3.操作前停止一切更新操作(写入.更新.删除等): 配置master(主服务器) vi /etc/my.cnf #[必须]启用

SqlServer2005 数据库同步配置详解

 一:[准备条件]         <1>软件准备条件        机器A端:SqlServer2005 Management Studio + WinServer 2003 Enterprise   (作为发布服务器)        机器B端:Sqlserver2005 Management Studio Express + WinXP(作为订阅服务器)        (可以用别的,不过订阅服务器版本不得高于发布服务器版本)        <2>数据库复制准备条件       

Deepgreen数据库安装配置详解

可能很多朋友并不是很了解Deepgreen,Deepgreen是大规模并行数据库,他做为Greenplum的升级版,在原Greenplum基础上优化改进并添加了很多的功能,他也是MPP(大规模并行数据库),shared-nothing架构,在数据仓库和数据分析计算领域的前景不可小觑.如果有朋友想更详尽的了解这款数据库,请继续关注我的博客,同时可以通过其官网了解更多内容:http://vitessedata.com/deepgreen-db 今天我们先来看看这款数据库的安装,由于架构的一致性,De

mysql数据库主从配置详解

我们先来回顾一下我以前的做法 mysql服务器的主从配置,本来是一件很简单的事情,无奈不是从零开始,总是在别人已经安装好的mysql服务器之上 ,这就会牵扯到,mysql的版本,启动文件,等一些问题. 不过没关系,先问清楚两点 1.mysql配置文件my.cnf的位置 2.如何启动.停止mysql,找好启动文件 假设有两台机器,已经安装好了mysql(尽量同版本,且两台机器同一网络,可以ping通) 有朋友说:"从服务器,不能低于主服务器的版本",不过我是低于的,没有出现问题. 主机A

MongoDB入门教程之主从复制配置详解_MongoDB

    从这一篇开始我们主要讨论mongodb的部署技术.     我们知道sql server能够做到读写分离,双机热备份和集群部署,当然mongodb也能做到,实际应用中我们不希望数据库采用单点部署, 如果碰到数据库宕机或者被毁灭性破坏那是多么的糟糕.  一:主从复制 1: 首先看看模型图   2: 从上面的图形中我们可以分析出这种架构有如下的好处:      <1>  数据备份.      <2>  数据恢复.      <3>  读写分离.  3:下面我们就一一

CentOS6系统MySQL主从数据库复制配置详解(1/3)

查看mysql端口是开启 netstat -tanl | grep 3306 MySQL用户的授权 mysql -uroot -p 查看现有的用户授权表 select user,host,password from mysql.user; 测试连接到其他mysql服务器 mysql -uroot -p -h192.168.0.100 授权用户user1,密码456所有权限从192.168.1.181主机访问本服务器的所有数据库. grant all on *.* to slave@192.168

redis数据库sentinel命令详解

通信 初始化完成之后,sentinel会主动和master.slave进行通信,获取他们的信息. 获取主服务器信息 首先,sentinel会和master建立两个连接,分别是命令连接和订阅连接(分别保存在sentinelRedisInstance的cc和pc字段中).  代码如下 复制代码 void sentinelHandleRedisInstance(sentinelRedisInstance *ri) {     sentinelReconnectInstance(ri);     ...

Redis 对比 Memcached 并在 CentOS 下进行安装配置详解_Redis

Redis 是一个开源.支持网络.基于内存.键值对的 Key-Value 数据库,本篇文章主要介绍了Redis 对比 Memcached 并在 CentOS 下进行安装配置详解,有兴趣的可以了解一下. 了解一下 Redis Redis 是一个开源.支持网络.基于内存.键值对的 Key-Value 数据库,使用 ANSI C 编写,并提供多种语言的 API ,它几乎没有上手难度,只需要几分钟我们就能完成安装工作,并让它开始与应用程序顺畅协作.换句话来说,只需投入一小部分时间与精力,大家就能获得立竿