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 golang 客户端开发 Minigame Saas Indie rust Python Java cg
redis

Redis 线上排障与延迟诊断:SLOWLOG、LATENCY 与阻塞命令全流程

Redis 线上延迟排障完整指南:延迟问题的三层分类(网络/客户端/服务端)、SLOWLOG 配置与慢命令定位、LATENCY MONITOR 事件记录与 LATENCY DOCTOR 自动诊断、INFO 关键指标解读(延迟百分位、rejected_connections、blocked_clients、碎片率)、CLIENT LIST 与 CLIENT PAUSE 客户端管理、大 Key 与 O(N) 命令识别、fork 与 AOF 重写抖动、THP 与 swap 排查、完整排障流程与真实案例复盘

16 分钟阅读
Redis 排障 延迟
redis

云托管 Redis 选型与运维:ElastiCache、MemoryDB、Redis Cloud 与 Upstash 对比

云托管 Redis 选型与运维实战:AWS ElastiCache(cluster mode enabled/disabled、无服务器版)与 MemoryDB(持久化主存储、Multi-AZ 事务日志)、Azure Cache for Redis 与 Google Cloud Memorystore、Redis Cloud 与 Upstash Serverless 对比、集群模式与代理架构(Cluster Mode Enabled 与 Disabled 差异、槽位路由)、持久化与备份(自动快照、AOF、时间点恢复)、参数组与版本升级、Serverless 成本模型与冷启动、迁移方案(DMS、RIOT、双写)、选型决策矩阵与成本估算

13 分钟阅读
Redis 选型 运维
redis

RedisTimeSeries 时序数据实战:降采样、压缩与监控告警

RedisTimeSeries 时序数据实战:TS.CREATE 建序列与 RETENTION/ENCODING/CHUNK_SIZE 参数、TS.ADD/TS.MADD 写入与自动建键、TS.INCRBY/DECRBY 计数器、标签 LABELS 与过滤查询、TS.CREATERULE 降采样规则与聚合器(avg/sum/min/max/count/first/last/std.p/twa)、保留策略与压缩编码(UNCOMPRESSED/COMPRESSED/GORILLA/DOUBLE_DELTA)、TS.RANGE/TS.MRANGE/TS.MGET/TS.MREVRANGE 查询与 BUCKET 聚合、TS.QUERYINDEX 索引发现、与 Prometheus/Grafana 监控结合、容量规划与生产实践

12 分钟阅读
Redis 监控 压缩
redis

RedisJSON 文档模型:JSONPath、路径更新与二级索引实战

RedisJSON 文档模型实战:JSON.SET/JSON.GET/JSON.DEL 基础操作、JSONPath 语法($ 根、.. 递归、[*] 通配、[start:end] 切片、?() 过滤、@ 当前节点)、JSON.TYPE/JSON.OBJKEYS/JSON.OBJLEN 探测、JSON.ARRAPPEND/ARRINSERT/ARRPOP/ARRTRIM 数组操作、JSON.NUMINCRBY/NUMBERS 数值与 JSON.STRAPPEND/STRLEN 字符串、JSON.TOGGLE、原子多路径更新与内存语义、与 RediSearch 二级索引配合、文档建模范式与反规范化权衡、性能与容量规划

12 分钟阅读
Redis
redis

RediSearch 全文检索与聚合:索引、查询语法与中文分词实战

RediSearch 全文检索实战:FT.CREATE 建索引与 HASH/JSON 数据源、TEXT/TAG/NUMERIC/GEO/VECTOR 字段类型、WEIGHT 与 SORTABLE 选项、中英文分词与自定义词典、FT.SEARCH 查询语法(字段限定、布尔、前缀、模糊、短语、数值与地理过滤)、排序分页与 INKEYS/LIMIT 优化、FT.AGGREGATE 分组统计与 APPLY/REDUCE、HIGHLIGHT 与 SUMMARIZE 摘要、FT.EXPLAIN 执行计划、索引管理与内存调优、与向量检索混合使用

11 分钟阅读
Redis 全文检索 索引