Skip to content

Redis

知识脉络

Redis
├── 数据结构
│   ├── String/List/Hash/Set/ZSet
│   ├── 底层实现(SDS/ziplist/quicklist/skiplist)
│   └── 各类型应用场景
├── 缓存问题
│   ├── 缓存穿透(布隆过滤器/空值缓存)
│   ├── 缓存击穿(互斥锁/永不过期)
│   ├── 缓存雪崩(随机过期/多级缓存)
│   └── 缓存一致性(延迟双删/Canal)
├── 持久化
│   ├── RDB(快照/fork/COW)
│   ├── AOF(追加/重写)
│   └── 混合持久化
├── 高可用
│   ├── 主从复制
│   ├── Sentinel 哨兵
│   └── Cluster 集群(槽分配/gossip)
├── 分布式锁
│   ├── SETNX + 过期时间
│   ├── Redisson 实现
│   └── RedLock 争议
├── 内存管理
│   ├── 过期策略(惰性+定期)
│   ├── 淘汰策略(LRU/LFU/随机/TTL)
│   └── 内存碎片
└── 高级特性
    ├── Pipeline 批量操作
    ├── Lua 脚本原子性
    ├── 发布订阅
    └── Stream 消息

知识点清单

#题目频率难度状态
1Redis数据结构与底层实现极高进阶todo
2缓存穿透-击穿-雪崩极高进阶todo
3缓存与数据库一致性极高困难todo
4Redis分布式锁极高困难todo
5Redis持久化RDB与AOF极高进阶todo
6Redis过期与淘汰策略极高进阶todo
7Redis集群方案困难todo
8Redis主从复制进阶todo
9Redis哨兵机制进阶todo
10跳表原理(ZSet底层)困难todo
11Redis单线程为什么快极高基础todo
12Redis事务与Lua脚本进阶todo
13大Key问题与解决进阶todo
14热Key问题与解决进阶todo
15[Redis Pipeline](/topics/redis/Redis Pipeline)基础todo
16布隆过滤器原理进阶todo
17Redisson分布式锁实现困难todo
18Redis内存碎片进阶todo
19Redis-Cluster槽分配困难todo
20延迟双删方案进阶todo
21Redis应用场景总结基础todo
22Redis与Memcached对比基础todo

口诀速记

  • 缓存三件套: "穿(布隆/空值)击(互斥/不过期)雪(随机/多级)"
  • 淘汰策略: "LRU/LFU/TTL/Random × volatile/allkeys = 8种"
  • 持久化: "RDB快全大,AOF慢增安,混合两者优"
  • 单线程快: "内存+IO多路复用+避免切换"

跨域关联