• redis 主从复制


    1、redis 内存数据库,KV数据库(memcached)数据结构数据库。数据结构有:string,list,set,zset,hash,srteam。

    一致性:

    (a)强一致性(一直一致) (b)最终一致性(最终一致)

    redis采用的是最终一致性。

    2、redis 三种集群方式:

    (a)主从复制 (b)哨兵模式 (c)cluster集群

    3、解决哪些问题:

    (a)解决单点故障的问题;

    (b)高可用的基础。CAP原则。C:一致性,A:可用性,P:分区容错性

    CAP原则:不能同时满足,保二弃一。一般都需要满足P原则。所以一般强可用时,采用最终一致性(软一致性)。

    4、主从复制的应用 有哪些?

    (a)读写分离。( 异步事件机制、单线程(网络事件处理+业务),如果对于一致性要求不高的场景,可以采用读写分离的场景)

    (b)master 设置不持久化、slave设置持久化。 1、时间事件(定时器) 2、dict(数组+hash) 扩容和缩容 size > used会影响dict 索引效率。

    (c)从数据库 基础上设置 从节点;用于线上数据测试,不会影响主从数据一致;

    5、原理:

    (1)提供了两种同步的方式

    a、全同步

    b、增量同步

    (2)两种持久化方法:

    a、rdb:将一段时间内数据,压缩为一个文件,可能会丢失(同步时间间隔)数据。

    b、aof:以操作为单位,进行存储。丢失的事一个写/删除等操作。

    6、redis主从复制的版本迭代:

    (1)分析需求:

    a、新加入节点

    b、主从连接故障

    c、从数据库重启

    d、主从切换

    (2)版本迭代

    a、< 2.8 版本之前的版本采用 全量同步方式。不考虑效率时,这是正确的做法。场景a、c。

    b、2.8版本增量同步方式:

    方法:a、缓冲区(size) b、偏移量(指明缓冲区的位置) c、runid 目的:限定一个短时间内数据同步的方式。场景b。

    c、4.0版本:缓冲区+偏移量+runid 写入rdb中。 场景 d。

    7、开发项目时启示:简单可用,逐步优化。

    a、先关注核心功能开发,数据结构数据库(空间和时间复杂度)

    b、逐步优化。

  • 相关阅读:
    IIS6为应用程序池**提供服务的进程与 World Wide Web Publishing 服务通信时遇到致命错误
    C# WINFORM 强制让窗体获得焦点
    数据库性能优化详解
    sqlserver 2008 修改表结构不能保存
    SQL性能优化
    aspnet打印 设置(页脚 一些数据显示在打印页的最下面)
    图片转成byte数组
    在配置文件中定义初始值然后读取
    DOM编程
    html动态显示时间
  • 原文地址:https://www.cnblogs.com/xiaohaigegede/p/14090812.html
Copyright © 2020-2023  润新知