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 集群架构对比总结

七、总结性思维导图

相关推荐
ljt27249606613 分钟前
Flutter笔记--加水印
笔记·flutter
人道领域4 分钟前
Day | 09 【苍穹外卖:订单售后业务】
java·数据库·后端
show2144 分钟前
Memos 开源笔记的使用
笔记
悠哉悠哉愿意5 分钟前
【单片机学习笔记】第十二届国赛经验复盘
笔记·单片机·嵌入式硬件·学习
minji...6 分钟前
Linux 进程间通信(一)进程间通信与匿名管道
linux·运维·服务器·数据结构·数据库·c++
zxm85137 分钟前
UV使用及UV与Anaconda的区别
大数据·学习·机器学习·uv
Shining059610 分钟前
AI 编译器系列(五)《拓展 Triton 深度学习编译器——DLCompiler》
人工智能·深度学习·学习·其他·架构·ai编译器·infinitensor
XDHCOM11 分钟前
ORA-12532: TNS:invalid argument 故障解析,Oracle报错远程处理技巧与修复方法分享
数据库·oracle
-许平安-12 分钟前
MCP项目笔记四(Transport)
开发语言·c++·笔记·ai·mcp
码农的小菜园12 分钟前
Java线程池学习笔记
java·笔记·学习