posts

Redis 缓存与高性能数据结构专题

Redis 是全球最广泛采用的内存数据结构存储系统,从单机缓存到分布式集群承担着关键基础设施角色。本专题从底层数据结构出发,深入讲解 String/Hash/List/Set/ZSet/Bitmap/HyperLogLog/GeoSpatial 核心类型的使用场景与内部编码、持久化机制(RDB/AOF/hybrid)、主从复制与哨兵高可用架构、Cluster 分片集群原理、缓存设计模式(穿透/击穿/雪崩防护)、分布式锁与限流实现、Redis Stream 消息队列、性能调优与内存优化策略,以及安全运维与监控告警最佳实践,帮助开发者掌握 Redis 生产级部署全链路能力。并深入高并发限流器设计、大 Key 与热 Key 治理、过期键淘汰与内存回收、Bitmap/HyperLogLog/GEO/布隆过滤器等高级数据结构实战、缓存一致性终极方案(双删/binlog 订阅/版本号校验)与 Redis 向量检索(RediSearch/HNSW/Embedding 管道),覆盖高并发生产架构与 AI 时代语义检索能力,并补齐 Keyspace 通知与变更捕获(CDC)、GEO 地理空间命令、Kubernetes Operator 运维、代理与路由方案、Key 设计规范、多租户隔离与资源配额等生产议题。

Redis 是最流行的内存数据存储系统,不仅是缓存层的标准选择,还广泛应用在分布式锁、消息队列、实时排行榜、限流器等场景。本专题从底层数据结构深入到集群架构与安全运维。

内容导航

序号文章核心知识点
01Redis 核心概念与基础数据结构SDS、ziplist、skipList、编码转换、String/Hash/List/Set/ZSet
02持久化机制: RDB vs AOF快照、日志重写、混合持久化、Copy-On-Write
03主从复制与 Sentinel 高可用PSYNC、复制偏移量、Sentinel 选举、故障转移、脑裂防护
04高可用 Cluster 集群架构分片、槽位、槽迁移、客户端路由、扩容缩容
05缓存设计模式与防御策略Cache Aside、穿透/击穿/雪崩、双删、预热
06消息队列: Pub/Sub 与 Streams消费组、ACK、持久化消息、延迟队列
07分布式锁与原子操作SET NX EX、Redlock、Redisson、Lua 脚本
08事务、Lua 脚本与原子操作MULTI/EXEC/WATCH、EVAL/EVALSHA、原子扣库存、限流器
09Java 客户端与 Spring Data RedisLettuce、Jedis、Template、@Cacheable、读写分离
10Go + Redis 实战go-redis/v9、连接池、Pipeline、事务、发布订阅
11性能调优与生产监控内存优化、大 Key 治理、慢查询、延迟监控、基准测试
12生产安全指南ACL 权限、TLS 加密、Bind 限制、审计日志、命令禁用
13内存管理深度解析jemalloc、内存碎片主动整理、驱逐策略、maxmemory
14网络模型与高性能 IOepoll、RESP3、Pipeline、IO 多线程
15数据迁移与集群扩容在线迁移、槽迁移、Redis Shake、零停机
16Redis 7.x 新特性详解Functions、ACLv2、Sharded Pub/Sub、listpack
17微服务架构中的缓存模式多层缓存、CQRS、限流器、会话共享
18监控与可观测性慢日志、Prometheus、Grafana、告警规则
19缓存架构演进路径单体→Sentinel→Cluster→多级缓存→Cache-as-a-Service
20Stream 消息队列对比Streams vs Kafka/RabbitMQ、选型矩阵
21高并发限流器设计固定/滑动窗口、令牌桶、漏桶、分布式限流、网关限流、热点防护
22大 Key 与热 Key 治理大 Key 发现与拆分、热 Key 探测与缓解、监控告警
23过期键淘汰与内存回收惰性/定期删除、expire cycle、驱逐策略、碎片整理
24高级数据结构实战Bitmap、HyperLogLog、GEO、布隆过滤器、Stream、bitfield
25缓存一致性终极方案延迟双删、binlog 订阅、版本号校验、最终一致性
26Redis 向量检索RediSearch、HNSW、Embedding 管道、混合过滤、选型
27Redis 管道、事务与批量优化:从 N 次 RTT 到一次pipeline 原理、RTT 开销、MULTI/EXEC 与 WATCH、Lua 对比
28Redis 容灾与备份恢复:RDB/AOF 备份、复制与演练RDB/AOF/混合持久化、异地容灾、故障演练、恢复步骤
29Redis 对象编码与内存优化:listpack 与编码转型redisObject、编码选择与转型阈值、listpack/quicklist/skiplist、内存优化
30Redis 客户端缓存与 RESP3:降低往返延迟RESP2/RESP3、CLIENT TRACKING、四种缓存模式、一致性权衡
31Redis Sentinel 高可用:监控、故障转移与生产运维quorum 投票、主观/客观下线、故障转移流程、客户端重定向
32Redis Cluster 数据分片与扩缩容实战16384 槽位、CRC16 与 hash tag、gossip、槽迁移、扩缩容
33Redis Functions 与脚本工程化:EVAL、EVALSHA 与 FUNCTION 全解析Lua 脚本、脚本缓存、FUNCTION 注册与库、原子性与复制语义、调试测试
34Redis 全文检索实战:RediSearch 索引、查询与聚合FT.CREATE、FT.SEARCH、FT.AGGREGATE、分词与同义词、排序分页、性能调优
35Redis JSON 文档存储:JSONPath 与文档建模实战JSON.SET/GET、JSONPath 语法、数组与嵌套更新、索引集成、文档建模
36Redis 时间序列:TS 模块与指标采集实战TS.CREATE、TS.ADD、TS.RANGE、降采样规则、保留策略、标签与聚合
37Redis 托管云服务选型:ElastiCache、MemoryDB 与 Redis Cloud 对比托管服务对比、成本模型、持久化与一致性、Serverless、迁移与锁定的权衡
38Redis 线上排障与延迟诊断:SLOWLOG、LATENCY 与阻塞命令全流程SLOWLOG、LATENCY MONITOR/DOCTOR、INFO 指标、CLIENT LIST、fork 与 AOF 抖动、案例复盘
39Keyspace 通知与变更捕获keyspace/keyevent 通知、事件过滤、CDC 管道、可靠性与性能代价
40GEO 地理空间命令实战GEOADD、GEOSEARCH、geohash 编码、附近查询、地理围栏
41Kubernetes Operator 运维Operator 模型、CRD 定义、拓扑编排、故障自愈、版本升级
42代理与路由方案twemproxy、Envoy Redis 代理、读写分离路由、连接复用与故障转移
43Key 设计与命名规范命名空间、冒号分层、长度与可读性、hash tag、生命周期约定
44多租户隔离与资源配额逻辑隔离 vs 实例隔离、ACL 分权、内存配额、噪声邻居治理

学习路线建议

阶段一: 数据类型 → 内存结构 → 持久化
阶段二: 主从复制 → Sentinel → Cluster
阶段三: 缓存策略 → 分布式锁 → 消息队列
阶段四: 事务脚本 → 性能调优 → 安全运维

相关专题

Redis 的适用与不适用

适用场景不适用场景
会话缓存、热点数据持久化主存储(内存贵且易失)
排行榜、计数器复杂事务(无 ACID 保证)
分布式锁、限流大数据量存储(内存限制)
消息队列(轻量)严格有序消息(用 Kafka)
实时地理位置全文搜索(用 Elasticsearch)

Redis 是「高速公路」,不是「仓库」。它擅长快速读写、简单计算和临时存储。将 Redis 当作主数据库使用是常见反模式——内存的昂贵和易失性决定了它只能是缓存层或辅助存储。

专题统计

全部文章 game Indie golang 客户端开发 Minigame Saas rust Python Java cg