Redis

→ 返回 NoSQL

Redis(REmote DIctionary Server)是基于内存的键值存储,单线程执行命令(6.0+ 可多线程 IO),读写可达 10 万+ QPS。常用于缓存、分布式锁、限流、会话、排行榜、轻量 MQ(Stream / List)。

缓存架构见 缓存架构;与 MySQL 见 MySQL;进程内缓存见 Caffeine。

入门:基础命令(redis-cli + 各类型命令表)。


专题导航

基础

文档内容
基础命令与使用redis-cli、Key/String/Hash/List/Set/ZSet 命令速查
架构、事件循环与线程模型ae、epoll/Reactor、单线程、IO 多线程、fork/COW
线程池与客户端连接服务端 I/O/BIO、Lettuce/Jedis/Redisson 线程与连接池、阻塞命令隔离
数据结构对外数据类型、场景与选型
底层数据结构与对象编码redisObject、SDS、dict/rehash、listpack、quicklist、skiplist
Hash对象、购物车、HSCAN
ZSet排行榜、延迟队列
过期与持久化过期字典、近似 LRU/LFU、RDB/COW、AOF 写入/刷盘/重写

高可用与分布式

文档内容
主从与哨兵replid/offset、PSYNC、backlog、全量/部分同步、Sentinel 选举
Cluster 集群Hash Slot、MOVED/ASK、迁槽、Gossip、故障转移、跨 slot 限制
分布式锁SET NX PX、DELEX/Lua、watchdog、fencing token、事务边界、Redlock
Redis、MySQL 与缓存一致性Cache Aside、主从读延迟、Binlog/Canal、MQ 幂等同步与补偿
Pipeline 与 StreamPipeline、Lua、Pub/Sub、Stream 消费组

运维与落地

文档内容
运维与集成避坑清单、CAP、慢查询、Spring Boot

底层原理阅读顺序

请求进入 Redis
  → 架构与线程模型(epoll / Reactor / 命令执行)
  → 线程池与客户端连接(I/O/BIO / Netty / 连接复用与隔离)
  → 底层数据结构(对象编码 / dict / listpack / skiplist)
  → 过期与持久化(RDB / COW / AOF)
  → 主从与哨兵(PSYNC / backlog / failover)
  → Cluster(Hash Slot / 路由 / 迁槽 / Gossip)

部署形态速览

单机 ──► 主从复制 ──► Sentinel 自动故障转移 ──► Cluster 分片扩展
形态适用
单机开发、可丢缓存
主从 + Sentinel中小规模、自动 failover
Cluster大数据量、水平扩展

详见 主从与哨兵、Cluster。


与高并发 / Java

场景文档
排行榜ZSet、排行榜
秒杀库存秒杀
Spring 集成Redis 集成、分布式锁
微服务分布式与数据层

相关