Redis(三)-- 主从同步

一、主从同步的工作原理

  redis主从复制过程: 当配置好slave后,slave与master建立连接,然后发送sync命令。无论是第一次连接还是重新连接,master都会启动一个后台进程,将 数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存。后台进程完成写文件后,master就发送文件给slave,slave将 文件保存到硬盘上,再加载到内存中,接着master就会把缓存的命令转发给slave,后续master将收到的写命令发送给slave。如果master同时收到多个slave发来的同步连接命令,master只会启动一个进程来写数据库镜像,然后发送给所有的slave。master同步数据时是非阻塞式的,可以接收用户的读写请求。然而在slave端是阻塞模式的,slave在同步master数据时,并不能够响应客户端的查询。

  可以在master禁用数据持久化,只需要注释掉master 配置文件中的所有save配置,然后只在slave上配置数据持久化。

  如果Master和Slave之间的链接出现断连现象,Slave可以自动重连Master,但是在连接成功之后,一次完全同步将被自动执行。

  

  • slave连接到master
  • slave发送SYNC命令
  • master服务器备份数据库到.rdb文件
  • master服务器把.rdb文件传输给slave服务器
  • slave服务器把.rdb文件数据导入到数据库

  上面的这5步是同步的第一阶段,接下来在master服务器上调用每个命令都在使用replicationFeedSlaves()来同步到slave服务器。

二、配置主从同步

  1.复制一份Redis 作为slave,修改slave的配置文件:端口号、进程文件和日志文件的位置。

  2.修改slave的配置文件:

    slaveof <masterip> <masterport>    指定master的ip和port

    masterauth <master-password>       master有验证的情况下

    slave-read-only yes                设置slave为只读模式

  

  

时间: 2024-11-05 00:12:52

Redis(三)-- 主从同步的相关文章

Redis 的主从同步(复制)

Redis 的主从同步(复制) 什么是主从同步(复制) 假设有两个 redis 实例 ⇒ A 和 B B 实例的内容与 A 实例的内容保持同步 那么称 A 实例是主数据库,B 实例是从数据库 这个过程称为主从同步 为什么要使用主从同步(复制) 防止发生单点故障 扩展内存 如何开启/关闭主从同步 开启同步 配置文件中加入 slaveof 主数据库地址 主数据库端口 在命令行中执行上述命令 redis> slaveof 主数据库地址 主数据库端口 在开启从服务器时执行命令 $ reids-serve

Redis的主从同步手动执行故障切换

1.准备三个redis配置文件,通过端口的区分,启动三个redis数据库实例,然后配置主从复制. # a6371.conf port 6371 daemonize yes pidfile /data/6371/redis.pid loglevel notice logfile "/data/6371/redis.log" dbfilename 6371.rdb dir /data/6371 # a6372.conf #通过命令快速生成配置文件 sed "s/6373/6371

Redis之主从同步

同步 Redis为什么要实现主从同步? 主从同步,有以下好处: 实现数据的备份,减少单点故障带来的损失: 有利于实现负载均衡.本来一台服务器负责所有数据的读写,而通过主从同步,可以让多个从服务器负责数据的读,而主服务器主要负责数据的写,减轻了单点压力. 部分重同步 Redis从2.8开始,引入了PSYNC,支持部分重同步:主服务器和从服务器断开连接这段时间,主服务器的数据可能只是发生了少量的变化,那么当从服务器重新连上主服务器时,就没有必要把主服务器里面的数据全部发给从服务器进行数据覆盖,只需要

Redis——主从同步原理

刚接触到Redis,首先对Redis有一个初步的了解. 开源,免费,遵守BSD协议,key-value数据库. 可以将内存中的数据保存在磁盘中,重启的时候可以再次加载使用. 多种key-value类型的数据. 主从模式的数据备份. 高性能读写. redis所有操作都是原子性的,单个操作的原子性可以通过multi和exec指令包起来完成多个操作的原子性. 一个key可以存储很大,可以达到1gb,不像memcached只能保存1mb的数据. 主要缺点是数据库容量受物理内存的限制,不能作海量数据的高性

20190327 Redis主从同步、三台服务器部署,基于sentinel实现redis主从切换

一.缓存:缓存是为了调节速度不一致的两个或多个不同的物质的速度,在中间对速度较快的一方起到一个加速访问速度较慢的一方的作用,比如 CPU 的一级.二级缓存是保存了 CPU 最近经常访问的数据,内存是保存 CPU 经常访问硬盘的数据,而且硬盘也有大小不一的缓存,甚至是物理服务器的 raid 卡有也缓存,都是为了起到加速 CPU 访问硬盘数据的目的一因为 CPU 的速度太快了,CPU 需要的数据硬盘往往不能在短时间内满足 CPU 的需求,因此 PCU 缓存.内存.Raid 卡以及硬盘缓存就在一定程度

【转】Redis主从同步与集群管理

转自http://blog.csdn.net/u012152619/article/details/52854465 1.主从同步原理 像MySQL一样,Redis是支持主从同步的,而且也支持一主多从以及多级从结构.主从结构,一是为了纯粹的冗余备份,二是为了提升读性能,比如很消耗性能的SORT就可以由从服务器来承担.Redis的主从同步是异步进行的,这意味着主从同步不会影响主逻辑,也不会降低Redis的处理性能.主从架构中,可以考虑关闭主服务器的数据持久化功能,只让从服务器进行持久化,这样可以提

Redis主从同步分析

一.Redis主从同步原理1.1 Redis主从同步的过程配置好slave服务器连接的master后,slave会建立和master的连接,然后发送sync命令.无论是第一次同步建立的连接还是连接断开后的重新连接,master都会启动一个后台进程,将数据库快照保存到文件中.同时master主进程会开始收集新的写命令并缓存起来.当后台进程完成写文件后,master就将快照文件发送给slave,slave将文件保存到磁盘上,然后加载到内存将数据库快照恢复到slave上.slave完成快照文件的恢复后

redis主从同步与读写分离

一.原理 Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构.下面是关于redis主从复制的一些特点: 1.master可以有多个slave. 2.除了多个slave连到相同的master外,slave也可以连接其他slave形成图状结构. 3.主从复制不会阻塞master.也就是说当一个或多个slave与master进行初次同步数据时,master可以继续处理client发来的请求.相反s

redis配置文件详解及实现主从同步切换

redis配置文件详解及实现主从同步切换 redis复制 Redis复制很简单易用,它通过配置允许slave Redis Servers或者Master Servers的复制品.接下来有几个关于redis复制的非常重要特性: 一个Master可以有多个Slaves. Slaves能过接口其他slave的链接,除了可以接受同一个master下面slaves的链接以外,还可以接受同一个结构图中的其他slaves的链接. redis复制是在master段是非阻塞的,这就意味着master在同一个或多个