redis主从同步

redis是一个开源的,内存中的数据结构存储系统.它可以用作数据库,缓存和消息中间件.

它支持多种数据类型,如字符串(strings),散列(hash),列表(list),集合(set),有序集合(sorted sets)等

redis内置了复制,LUA脚本,LRU驱动事件,事务和不同策略的磁盘持久化,并通过Resia哨兵(sentinel)和

自动分区(Cluster)实现可用性.

  其它功能还包括:

  1,复制

  2,订阅/发布

  3,LUA脚本

  4,过期key自动删除

  5,内存回收

  6,自动故障移除

redis的主从复制原理

  redis的主从复制分为全量复制和增量复制

  1,初始化

  在从服务器第一次连接上主服务器的时候会发送PSYNC命令,主服务器收到PSYNC命令后执行BGSAVE命令

创建一条子线程进行将数据存放到RDB文件中,并把此期间接收到的写命令缓存到内存中.当RDB快照完成后,主服务

器会把快照发送给所有从服务器.从服务器接收并保存快照数据,然后将数据载入内存中.最后主服务器把缓存的写命令

发送给从服务器,从服务器执行这些命令更新数据

  2,断线重连

  redis在2.8之后支持增量数据同步时.redis会在内存中缓存下要发送给从服务器的内容,当从服务器断线重连后

会向主服务器发送"希望同步的主服务器ID"和"希望同步的数据偏移位置".主服务器在接收同步请求后会验证主服务器ID

是否与自己的ID一致,然后再验证缓存中是否存在请求的偏移位置.如果存在则同步数据.

  3,实时同步

  主服务器和从服务器在正常服务的时候,主服务器会把每条写命令通过网络发送给从服务器.

时间: 2024-10-20 11:38:25

redis主从同步的相关文章

Redis主从同步介绍

Redis主从同步命令和配置项 启动主从复制:master无需任何操作,slave中使用以下任意一种开启复制功能 (1).通过配置文件启动主从复制: 在redis.conf中加入"slaveof  <masterip>  <masterport>" 如:在redis.conf中加入: slaveof  192.168.3.134  6379 (2).通过客户端启动参数启动主从复制: redis-server  --port  <slaveport> 

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

redis 主从同步配置以及redis+keeplived高可用架构

系统环境:CentOS release 6.3 (Final) redis版本:redis-2.8.13 redis主:192.168.1.141 从:192.168.1.142 redis主从同步配置: redis安装配置已经在上篇文档写过: 主从安装配置好redis后,在主redis写入数据,然后从redis主配置文件设置成从: # vim /etc/redis.conf slaveof 192.168.1.141 6379     在配置文件最后加入 然后重启从redis:主从配置成功

Redis主从同步原理-SYNC【转】

和MySQL主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况.为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构,下图为级联结构.   Redis主从复制可以根据是否是全量分为全量同步和增量同步. 1 全量同步 Redis全量复制一般发生在Slave初始化阶段,这时Slave需要将Master上的所有数据都复制一份.具体步骤如下:  1)从服务器连接主服务器,发送SYNC命令:  2)主服务器接收到SYNC命名后,开始

安装配置redis主从同步

172.31.31.167 redis master 172.31.31.168 redis slave yum -y install make gcc gcc-c++ tar -zxf redis-3.2.11.tar.gz && cd redis-3.2.11 make && make install mkdir -p /usr/local/redis/conf cp -pr /usr/local/bin /usr/local/redis cp redis.conf /

Redis主从同步原理-SYNC

和MySQL主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况.为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构. Redis主从复制可以根据是否是全量分为全量同步和增量同步. 1 全量同步 Redis全量复制一般发生在Slave初始化阶段,这时Slave需要将Master上的所有数据都复制一份.具体步骤如下: 1)从服务器连接主服务器,发送SYNC命令: 2)主服务器接收到SYNC命名后,开始执行BGSAVE命令生成

Redis主从同步原理解析

redis主从同步原理 在主从数据同步过程中, master只在第一次同步时创建了RDB文件,用此做基础进行同步. 之后的同步,都是通过增量传输命令的方式(AOF)进行同步. 环境描述: master:192.168.2.100    不开启RDB和AOF slave:192.168.2.200    开启RDB和AOF 配置信息: master: # vim etc/redis.conf #save 600 5           //禁用RDB appendonly no       //禁

redis主从同步及手动处理故障

redis主从同步 redis主库机器故障,手动切换主从库 原文地址:https://www.cnblogs.com/open-yang/p/11256420.html