Redis 概览
Redis 概览
Redis(Remote Dictionary Server)是高性能内存数据结构存储,用作数据库、缓存、消息队列、分布式锁。
知识地图
数据结构
- String / Hash / List / Set / Sorted Set
- Bitmap / HyperLogLog / GEO / Stream
- 内存编码(int / embstr / raw / quicklist / listpack)
持久化
- RDB(快照)
- AOF(追加日志)
- 混合持久化(RDB + AOF)
- 性能权衡
高可用
- 主从复制
- Sentinel(哨兵)
- Cluster(集群,16384 slot 哈希分片)
- Codis / RedisShake(迁移工具)
应用模式
- 缓存(旁路 / 读写穿透 / 异步回写)
- 分布式锁(SETNX / Redlock)
- 限流(令牌桶 / 滑动窗口)
- 排行榜(Sorted Set)
- 消息队列(Stream / Pub-Sub)
- 计数器 / 布隆过滤器
性能与运维
- 内存淘汰策略(LRU / LFU / Random / TTL)
- 慢查询分析
- 大 Key / 热 Key 处理
- Pipeline / Lua 脚本
待补内容
- 各种数据结构的底层实现(ziplist / skiplist / dict)
- Redlock 算法详解与争议
- Cluster 扩容 / 缩容流程
- 与 Memcached 对比
参考资料
- 《Redis 设计与实现》
- Redis 官方文档
- 《Redis 深度历险:核心原理与应用实践》