⚡
Redis
从数据结构到持久化、集群与分布式锁,掌握高性能内存数据库。
- 01Redis 概览:定位、场景与为什么快理解 Redis 的内存数据库定位、典型应用场景、单线程模型与 IO 多路复用
- 02安装与 redis-cli 基础Docker 与源码安装、redis.conf 关键配置、redis-cli 连接与通用命令
- 03String:最常用的类型与三种编码SET 全参数、原子计数、int/embstr/raw 编码与计数器、分布式 ID 场景
- 04Hash:字段级操作的对象存储HSET/HGETALL/HINCRBY/HSCAN、listpack 与 hashtable 编码、对象缓存与大 key 风险
- 05List:队列、栈与时间线LPUSH/RPOP/LRANGE/BLPOP/LMOVE、quicklist 编码、消息队列场景与局限
- 06Set:去重、标签与随机抽取SADD/SISMEMBER/SPOP/交并差集合运算、intset 编码、标签系统与抽奖场景
- 07ZSet:排行榜背后的跳表ZADD/ZRANGE/ZRANK/ZINCRBY、skiplist + hashtable 双结构、排行榜与延时队列
- 08Bitmap、HyperLogLog 与 GEOSETBIT/BITCOUNT 签到、PFADD/PFCOUNT 亿级 UV 统计与误差原理、GEOSEARCH 附近的人
- 09Stream:可靠消息队列XADD/XREAD/消费组/XACK/XPENDING/XAUTOCLAIM,与 List、PubSub 的对比
- 10过期删除与内存淘汰EXPIRE 家族、惰性删除与定期删除、maxmemory 八种淘汰策略、近似 LRU/LFU
- 11持久化:RDB 与 AOFRDB 快照与 fork/COW、AOF 三种 fsync 策略与重写、混合持久化、数据丢失窗口分析
- 12事务与 Lua 脚本MULTI/EXEC/WATCH 乐观锁、Redis 事务为什么不是 ACID、EVAL/EVALSHA 与 Redis 7 Function
- 13发布订阅:即发即失的消息广播SUBSCRIBE/PUBLISH/模式订阅、Cluster 分片订阅 SSUBSCRIBE、消息丢失问题与 Stream 取舍
- 14主从复制:读写分离与数据冗余全量同步与部分重同步、repl_backlog 环形缓冲、replica-read-only、复制延迟与一致性
- 15哨兵:自动故障转移Sentinel 架构、主观/客观下线、Raft 式选举、故障转移四步流程、客户端如何感知新主库
- 16Cluster:16384 槽的数据分片哈希槽分片、MOVED/ASK 重定向、hash tag、跨槽命令限制、在线扩缩容
- 17分布式锁:从 SET NX 到 RedlockSET NX EX、锁误删与唯一标识、Lua 原子释放、看门狗续期、Redlock 及其争议
- 18缓存模式与穿透、击穿、雪崩Cache-Aside 等读写模式、缓存三大问题的成因与解法、双写一致性与延迟双删
- 19运维与性能优化INFO/SLOWLOG/LATENCY 排障、大 key 与热 key 定位治理、pipeline 批量、连接池与监控指标
- 20项目实战:秒杀、排行榜与限流库存扣减 Lua 防超卖、ZSet 排行榜、滑动窗口限流,完整脚本与调用伪代码