《Go 语言编程实战》7.2 Redis 缓存模式
把 Redis 接进 TaskHub 做跨实例共享缓存:用 go-redis 实现缓存旁路、区分 redis.Nil 未命中、用 SETNX 加 Lua 做安全分布式锁、用 MGET 与 pipeline 合并往返,并实测 pipeline 相对逐条命令的加速比与键设计要点。
tag
把 Redis 接进 TaskHub 做跨实例共享缓存:用 go-redis 实现缓存旁路、区分 redis.Nil 未命中、用 SETNX 加 Lua 做安全分布式锁、用 MGET 与 pipeline 合并往返,并实测 pipeline 相对逐条命令的加速比与键设计要点。
给 TaskHub 的读多写少接口加本地 TTL 缓存,并用 golang.org/x/sync/singleflight 合并并发回源,实测 100 个并发未命中只打一次数据库;对比本地缓存与 Redis 的延迟量级,讲清本地缓存在多实例下的失效难点与选型边界。
系统讲解 ClickHouse 查询缓存与预热实践:查询结果缓存(Query Cache)的配置与适用场景、profile events 分析查询成本、Prepared Statements、预聚合与物化视图作为「预热」手段、热点查询治理(重复查询去重)、缓存失效策略,以及缓存与实时性的权衡。
深入 Vite 依赖预构建机制:为什么需要预构建(ESM 兼容 + 性能)、esbuild 扫描与打包、optimizeDeps 配置、缓存失效与 .vite 目录、Monorepo 与链接包处理、按需预构建。
PHP 缓存与 Redis 实战:缓存层次(OPcache/内存/Redis)、Redis 数据结构选型、缓存读穿/击穿/雪崩三大问题、缓存与数据库一致性(双写/失效)、Laravel 缓存组件、分布式锁、热点数据与计数、实际缓存架构。
系统讲解 Monorepo 工程的构建与部署实践:pnpm workspace 与依赖管理、Turborepo/Nx 任务编排与增量缓存、Affected 定向构建、构建产物共享与缓存命中、Monorepo 在 Vercel/Cloudflare 的部署策略、发布流程与版本管理(Changesets)、以及 Monorepo 的边界与选型。
把图书借阅服务的缓存落到 Redis:接入 starter、选序列化方案并厘清与 4.x Jackson 3 的关系、Lettuce 共享连接与 Jedis 池的取舍、键命名与内存估算、大 key 与热 key 的危害,以及 4.1 新增的 @RedisListener 自动配置。
把缓存声明式地加到图书借阅服务上:讲清 @Cacheable / @CachePut / @CacheEvict / @Caching 的语义差异、key 与 SpEL 的写法陷阱、condition 与 unless 的执行时机、CacheManager 与多级缓存配置,以及同类内部调用失效和 TTL 表达边界。
深入讲解 CI/CD 流水线性能优化:串行依赖与等待瓶颈分析、构建缓存的类型与缓存键设计(Docker BuildKit/依赖缓存/编译缓存)、并行矩阵与 Job 编排、Merge Queue、增量构建与测试选择、远端缓存与缓存失效策略,以及一套可复制的优化路径。
系统讲解边缘缓存架构:Cache-Control 全指令语义与启发式缓存、CDN 缓存键归一化(Vary、Query 规整、Device/Locale 分区)、Stale-While-Revalidate 原理与落地、动态内容缓存与 Surrogate Key 失效、以及浏览器/CDN/源站三层分层缓存设计。
深入 Next.js App Router 内部机制:Server Components 数据获取与 RSC Payload、Streaming/Suspense 流式渲染、fetch 缓存/路由缓存/客户端缓存三层语义、revalidateTag 与 revalidatePath 精确失效,以及与 Pages Router 的完整对照与迁移路径。
深入讲解 HTTP 缓存体系,包括强缓存与协商缓存机制、Cache-Control 指令全解、私有与共享缓存区分、浏览器到源站的多层缓存架构,以及前端工程中的缓存失效与版本控制策略。
系统讲解 Node.js 缓存架构:内存缓存与 LRU、Redis 缓存层设计与序列化、TTL 与过期策略、缓存穿透/击穿/雪崩的成因与防护(布隆过滤器/互斥锁/随机过期)、缓存更新的一致性策略(Cache Aside/Write Through/双写)与监控演进。
SMP 与 NUMA:两种多处理器架构 多核处理器从架构上可以分为 SMP(Symmetric Multi-Processing,对称多处理)和 NUMA(Non-Uniform Memory Access,非统一内存访问)两大类。
分布式缓存全流程实战:Redis Cluster 架构调优、一致性哈希算法、缓存穿透/击穿/雪崩/System Design 级解决方案,L1+L2 多级缓存与 Hot Key 治理。
系统梳理缓存架构从单机到分布式的五大演进阶段,涵盖本地缓存、Redis 集群、多级缓存、热点 Key 治理与成本优化策略
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 四种经典缓存设计模式,以及缓存穿透、击穿、雪崩三大问题的成因分析与防御方案
使用 go-redis/v9 在 Go 中操作 Redis,覆盖连接池、Pipeline 批量操作、事务(WATCH/MULTI/EXEC)、Lua 脚本与完整缓存封装
掌握本地缓存 Caffeine、Spring Cache 抽象与 Redis 分布式缓存的多级架构设计,解决缓存一致性、穿透、雪崩与击穿问题