NoSQL 与 Redis

一、NoSQL(非关系型数据库)概述

1. 特点

  • 非结构化、半结构化数据存储

  • 横向扩展能力强

  • 无需固定表结构

  • 高并发读写性能好

2. 常见类型

二、Redis 在项目架构中的位置

Redis 在架构中主要作为 缓存层,位于应用 与 MySQL 之间:

三、Redis 如何分担系统压力

Redis 的作用:

1. 缓存热点数据(高热数据)

  • 高频访问 → 读缓存

  • 减少 MySQL 压力,提高响应速度

2. 缓存穿透、击穿、雪崩控制

  • 使用布隆过滤器、互斥锁、过期随机、分布式限流等

3. 实现分布式功能

  • 分布式锁(Redisson)

  • 分布式计数器

  • 分布式 session

4. 秒杀、高并发场景

  • 队列削峰

  • 预减库存

四、Redis 持久化机制(RDB / AOF)

0. Redis 持久化

Redis 属于内存数据库,为了防止断电数据丢失,需要持久化

Redis 提供两种机制:

① RDB(快照)

  • 周期性生成数据快照

  • 文件小,恢复快

  • 但断电可能丢失最近一次快照后的数据

② AOF(追加日志)

  • 每次写操作都记录日志

  • 数据更安全

  • 文件更大,恢复速度慢

通常企业使用:RDB + AOF 组合模式

五、Redis 集群架构(从简单到复杂)

架构 1:主从复制(Master-Slave)

  • 提高读性能

  • 单 Master 写

  • Slave 复制 Master 数据

复制代码

缺点:Master 宕机后不可自动切换

架构 2:哨兵模式(Sentinel)--- 企业常用

  • 在主从复制基础上加入 哨兵(监控)

  • 哨兵监控 Master 状态

  • 当 Master 故障 → 自动提升 Slave 为新 Master

典型 6 节点结构:

  • 3 台哨兵:Sentinel1, Sentinel2, Sentinel3

  • 3 台 Redis:1 主 2 从

提供高可用 HA(High Availability)

架构 3:Redis Cluster(分片集群)--- 企业常用

  • 多 Master 分片存储

  • 每个 Master 拥有自己的 Slave

  • 实现 高并发 + 高可用 + 水平扩展

节点示例(默认 6 节点):

  • 3 主:7000、7001、7002

  • 3 从:7003、7004、7005

特点:

  • 自动分片(16384 槽)

  • 自动主备切换

  • 集群无中心(节点互联)

六、Redis 集群架构对比总结

七、总结性思维导图

相关推荐
吴声子夜歌15 分钟前
SQL经典实例——使用多张表
数据库·sql
倔强的石头_1 小时前
《Kingbase护城河》——深度解密数据库行锁冲突与等待事件架构
数据库
IT策士1 小时前
Redis 从入门到精通:性能调优与多语言客户端对比
数据库·redis·缓存
青柠代码录2 小时前
【Redis】数据类型:Stream
redis
Bert.Cai2 小时前
Oracle INSTR函数详解
数据库·oracle
千寻girling2 小时前
记录第一次学习 Docker
学习·docker·容器
Yeats_Liao3 小时前
Feed流系统设计(三):数据模型与存储设计,从表结构到Redis收件箱
java·javascript·redis
Kobebryant-Manba3 小时前
学习RNN(简洁实现)
人工智能·rnn·学习
知南x4 小时前
【DPDK例程学习】(4) l2fwd
学习·word
努力努力再努力FFF4 小时前
大学四年AI能力规划:从入门学习到简历表达
人工智能·学习