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

七、总结性思维导图

相关推荐
前方一片光明7 小时前
SQL SERVER——生成sql:删除所有log表中,user_name是某用户的数据
数据库·sql·oracle
Gauss松鼠会8 小时前
【GaussDB】在duckdb中查询GaussDB的数据
数据库·sql·database·gaussdb
QT 小鲜肉8 小时前
【Linux命令大全】001.文件管理之git命令(实操篇)
linux·服务器·笔记·git·elasticsearch
半夏知半秋8 小时前
docker常用指令整理
运维·笔记·后端·学习·docker·容器
虹科网络安全8 小时前
艾体宝洞察 | Redis vs ElastiCache:哪个更具成本效益?
数据库·redis·缓存
自在极意功。8 小时前
MyBatis 动态 SQL 详解:从基础到进阶实战
java·数据库·mybatis·动态sql
老邓计算机毕设8 小时前
SSM校园订餐系统7z0dm(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·菜品管理系统·ssm 框架·ssm 框架开发·校园线上订餐平台
sxlishaobin8 小时前
MySQL- explain
数据库·mysql
LXS_3579 小时前
Day 18 C++提高 之 STL常用容器(string、vector、deque)
开发语言·c++·笔记·学习方法·改行学it