博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
redis学习笔记---redis主从复制
阅读量:6822 次
发布时间:2019-06-26

本文共 1413 字,大约阅读时间需要 4 分钟。

hot3.png

   
一、介绍
    redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。
    通过redis的主从复制功能可以很好的实现数据库的读写分离,提高服务器的负载能力,主服务器主要负责写操作,从服务器主要负责读操作
    主从复制的过程:
    1:当一个从数据库启动时,会向主数据库发送sync命令,
    2:主数据库接收到sync命令后会开始在后台保存快照(执行rdb操作),并将保存期间接收到的命令缓存起来
    3:当快照完成后,redis会将快照文件和所有缓存的命令发送给从数据库。
    4:从数据库收到后,会载入快照文件并执行收到的缓存的命令。
    注意:redis2.8之前的版本:当主从数据库同步的时候从数据库因为网络原因断开重连后会重新执行上述操作,不支持断点续传。redis2.8之后支持断点续传
    注意:从 Redis 2.8 开始, 为了保证数据的安全性, 可以通过配置min-slaves-to-write, 让一个主节点在至少有N个从节点的情况下才能执行写操作。从节点以每秒一次的频率ping主节点,主节点会记录各个从服务器最后一次向它发送ping的时间。用户可以通过配置, 指定网络延迟的最大值 min-slaves-max-lag以及执行写操作所需的最少从服务器数量 min-slaves-to-write
    min-slaves-to-write 3
    min-slaves-max-lag 10
    如果至少有 min-slaves-to-write 个从服务器, 并且这些服务器的延迟值都少于 min-slaves-max-lag 秒, 那么主服务器才会执行客户端请求的写操作。只要有一个条件不满足,写操作就不会执行,主服务器会向请求执行写操作的客户端返回一个错误。
   
二、主从复制的部署:
    Redis主从结构支持一主多从
 
主节点:192.168.1.170
从节点:192.168.1.171
注意:所有从节点的配置都一样
 
方式1:手动修改配置文件
 
只需要额外修改从节点中redis的配置文件中的slaveof属性即可
slaveof 192.168.1.170 6379
启动170主节点上面的redis,查看redis的info信息(执行info命令 )
启动171从节点上面的redis
,查看redis的info信息
 
方式2:动态设置
通过redis-cli 连接到从节点服务器,执行下面命令即可。
slaveof 192.168.1.170 6379
 
            
   
三、主从复制需要注意的问题:
 
 ① 如果你使用主从复制,那么要确保你的master激活了持久化,或者确保它不会在当掉后自动重启。slave是master的完整备份,因此如果master通过一个空数据集重启,slave也会被清掉。
    ②在配置redis复制功能的时候如果主数据库设置了密码,需要在从数据的配置文件中通过masterauth参数设置主数据库的密码,这样从数据库在连接主数据库时就会自动使用auth命令认证了。相当于做了一个免密码登录。
 
 

转载于:https://my.oschina.net/u/780876/blog/544074

你可能感兴趣的文章
django template
查看>>
Tomcat乱码问题
查看>>
HDU 1564 Play a game
查看>>
URL
查看>>
volley3--Volley类
查看>>
topcoder srm 620 div1
查看>>
20151124001 关闭C#主窗体弹出是否关闭对话框
查看>>
java 判断元素是否在数组内
查看>>
java。equal()和== 的区别
查看>>
leetcode34. 在排序数组中查找元素的第一个和最后一个位置
查看>>
扩展欧几里德算法~简单
查看>>
flex shareObject对象详解
查看>>
介绍一下Mojolicious的DOM选择器Mojo::DOM和它的Mojo::UserAgent(比较Web::Scraper)
查看>>
【转】Spring源码编译
查看>>
poj2184
查看>>
找规律 Codeforces Round #309 (Div. 2) A. Kyoya and Photobooks
查看>>
(转)父类与子类之间变量和方法的调用
查看>>
C#生成唯一的ID保存到数据库
查看>>
memcached整理の实践
查看>>
Codeforces Round #157 (Div. 2) A. Little Elephant and Chess
查看>>