zoukankan      html  css  js  c++  java
  • redis系列-主从复制

    redis自身提供了主从的机制,通过配置可以实现服务的备份(Master->Slave)。

    配置项

            slaveof <masterip> <masterport>
            masterauth <master-password> <master password=""> //如果master设置了requirepass password       </master>

    复制流程

    1. Slave启动或重新与Master连接时,向Master发送SYNC
    2. Master收到SYNC判断后台是否有正在进行的内存快照保存子进程,没有则启动一个快照保存子进程,有则等待快照保存完成,将快照文件传送给要求同步的Slave
    3. Slave收到快照文件后,清空内存,加载该快照
    4. Master在保存快照过程中,会把改变数据集的命令缓存到一队列中,后续依次发给Slave;在以后的连接未中断过程中,会逐一发送写命令到Slave

    使用注意

    1.通常Master可以配置成只写、不保存,Slave负责对外读、以及持久化(slave-read-only yes)
    2.slave在与Master断开连接或正在同步快照时,通过配置slave可以继续接收读请求或者拒绝请求
    slave-serve-stable-data yes //继续提供服务
    slave-server-stable-data no//不提供服务,返回错误"SYNC with master in progress"
    3.redis没有增量复制,每次新建同步连接都会全量同步快照。slave过多或者网络不稳定导致同步请求多,会增加Master的压力,影响其性能
    4.redis作为缓存比较合适,做为数据库存储,那它的持久化、复制都有缺陷:重启时恢复内存、复制数据都要比较长的时间,出现延迟
    5.Master如果采用AOF持久化,会出现同时写AOF和RDB的情况,响应会受到影响

    本文做为铺垫,用于对搭建redis集群做准备。


  • 相关阅读:
    MySQL Limit优化(转)
    MySQL数据库性能优化思路与解决方法(一转)
    Mysql占用CPU过高如何优化?(转)
    数据库方面两个简单实用的优化方法(转)
    硬盘扩容9999T
    python内涵段子爬取练习
    jmeter环境配置
    PyCharm3.0默认快捷键
    python3 操作页面上各种元素的方法
    python3 selenium webdriver 元素定位xpath定位骚操作
  • 原文地址:https://www.cnblogs.com/whuqin/p/4981984.html
Copyright © 2011-2022 走看看