Redis - Redis 概述

概述

NoSQL

  1. 定义:Not only SQL,非关系型数据库
  2. 特点
    1. 非结构化:没有表结构,没有对每一项数据的具体定义,数据结构不固定
    2. 无关联:数据之间没有直接联系
    3. 非 SQL:查询时使用的不是结构化查询语句
    4. 内存存储:数据存储在内存中,查询效率特别高
    5. 水平扩展性
  3. 适用场景
    1. 数据结构不固定
    2. 对一致性、安全性要求不高
    3. 对性能要求高

Redis

  1. 定义:Remote Dictionary Server,远程词典服务器,一种基于内存的键值型 NoSQL 数据库
  2. 特点
    1. Key-Value :value 支持多种不同数据结构,功能丰富
    2. 单线程:每个命令具备原子性,线程安全
    3. 低延迟,速度快:基于内存,IO 多路复用,良好的编码
    4. 支持数据持久化
    5. 支持主从集群、分片集群

功能

  1. 在 mySQL 基础上加了三级缓存,减少 mySQL 的磁盘 I/O 操作

在这里插入图片描述

  1. 支持多种数据结构

缓存

一、缓存量控制

  1. 定时删除
  2. 惰性删除
  3. 内存淘汰
  4. 缓存击穿解决方案 : 过期时间均匀分布
  5. 缓存雪崩解决方案 : 热点数据永不过期

二、缓存持久化

  1. RDB 持久化方案
    1. 原理 : 通过备份 redis 的写入命令来执行恢复操作
  2. AOF 持久化方案
    1. 原理 : 通过指令压缩来压缩 AOF 文件(AOF重写)

高可用

一、主从模式

  1. 主节点(master) : 负责写数据

  2. 从结点(slave) : 负责读数据

  3. 实现原理

    1. 主从结点进行 RDB 文件的数据同步,通过读写分离提高性能
    2. 若主节点崩溃,则从结点替代主节点功能继续工作
  4. 崩溃后的备份机制

    1. 主节点崩溃 : 设置管理员(哨兵)结点,如果多个 (具体几个由用户自定义) 管理员判定一个结点掉线了,才判定为下线

    2. 从结点崩溃 : 使用复制偏移量来确定从结点已完成的数据备份,避免崩溃后需要从头备份全部缓存

      复制偏移量 : 一个用来确定 master-slave 之间数据备份进度的游标

      在这里插入图片描述

  5. 故障转移机制

    1. 选择新的主节点
    2. 设置其他从结点从新的主节点同步数据
    3. 设置旧主节点为从结点
  6. 新节点选择标准

    1. 硬件配置高的优先
    2. 断开主节点时间短的优先 (数据最新)
    3. 复制偏移量大的优先 (数据最全)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值