Skip to content

Redis 技术详解

  Redis(Remote Dictionary Server)是开源的高性能键值存储数据库,基于内存运行并支持持久化。它不仅仅是一个缓存,更是数据结构服务器、消息中间件、分布式锁提供者。本章从基础到原理,全面深入讲解 Redis。

Redis 核心能力

┌─────────────────────────────────────────────────────────────────┐
│                         Redis 能力全景                            │
│                                                                 │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐        │
│  │ 5种基本   │  │ 3种扩展   │  │ RDB/AOF  │  │ 主从/哨兵 │        │
│  │ 数据结构  │  │ 数据结构  │  │ 持久化    │  │ /集群     │        │
│  └──────────┘  └──────────┘  └──────────┘  └──────────┘        │
│                                                                 │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐        │
│  │ 分布式锁  │  │ 发布订阅  │  │ Stream   │  │ Lua脚本  │        │
│  │          │  │          │  │ 消息队列  │  │          │        │
│  └──────────┘  └──────────┘  └──────────┘  └──────────┘        │
│                                                                 │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐        │
│  │ 过期策略  │  │ 淘汰策略  │  │ Pipeline │  │ 事务     │        │
│  │          │  │          │  │ 管道     │  │          │        │
│  └──────────┘  └──────────┘  └──────────┘  └──────────┘        │
└─────────────────────────────────────────────────────────────────┘

学习路线

阶段内容目标
入门基础概念、5 种基本数据结构、常用命令能用 Redis 做缓存
进阶持久化、主从、哨兵、集群能搭建高可用 Redis
深入缓存问题、分布式锁、底层原理能解决生产问题
精通源码级理解、性能调优、架构设计能设计 Redis 架构

文档导航

文档内容
Redis 基础入门是什么、为什么快、IO 多路复用、单线程 vs 多线程
数据结构详解String/List/Set/ZSet/Hash + Bitmap/HyperLogLog/GEO
持久化详解RDB/AOF 原理、混合持久化、数据恢复、如何选择
主从复制详解全量/增量同步、拓扑结构、常见问题
哨兵模式详解Sentinel 架构、Leader 选举、故障转移
集群模式详解虚拟槽分区、Gossip 协议、故障转移、集群伸缩
缓存问题与解决方案击穿/穿透/雪崩、布隆过滤器、缓存一致性、热 key、大 key
分布式锁详解SETNX 演进、Redisson、RedLock、可重入锁
底层数据结构SDS、字典、跳表、压缩列表、快速列表、intset
高级特性Pipeline、事务、Lua、发布订阅、Stream

问题研讨

文档内容
IO 多路复用epoll 底层原理、select/poll/epoll 对比、LT/ET、Redis 事件循环、常见误区
Redis 发展史antirez 如何从一个网站性能问题开始,写出改变世界的数据库