TouchAll技术博客

TouchAll技术博客

缓存篇

[系统设计 - 缓存设计专题] 5. 缓存性能优化要点

数据结构与 Key 设计优化 规避大 Key / 大 Value 问题:单个 value 几十 MB、上万元素 list/hash,阻塞主线程、网络 IO、分片内存倾斜、删除阻塞。 优化: 列表拆分:长 list 分多段 hash;大批量结果分页存储; 统一阈值:value 上限控制 100KB 以

[系统设计 - 缓存设计专题] 4. 缓存经典问题

一、缓存穿透 产生原因 查询不存在的数据,缓存与数据库都没有,请求直接打穿到 DB,大量无效查询压垮数据库。 例:查询 id=-1、随机不存在的用户 ID,缓存查不到,每次都查库。 解决方案 缓存空值 / 空占位符:DB 查无数据时,缓存一条过期短时间的空记录,拦截重复请求; 布隆过滤器:把所有合法

[系统设计 - 缓存设计专题] 2. 应用层缓存设计

flowchart TD A["需求梳理与流量评估"] --> B["容量测算&资源配额规划"] B --> C["缓存架构选型<br/>单机/分布式/多级/多地组合"] C --> D["标准化缓存键规则设计"] D --> E["生命周期+内存淘汰策略定义"] E --> F["分布式一致性方案
6
0
0
2026-07-13

[系统设计 - 缓存设计专题] 1. 缓存分层架构

标准分层链路 L0 CDN 边缘缓存 → L1 网关 / 反向代理缓存 → L2 应用本地缓存(进程内) → L3 分布式共享缓存(Redis) → L4 数据库层缓存(Buffer Pool / 查询缓存) 每层统一按 4 个维度展开: 使用场景 本层能解决什么问题 本层固有、无法彻底根除的短板(
10
0
0
2026-07-12

[系统设计 - 缓存设计专题] 3. 缓存一致性

缓存一致性 缓存一致性矛盾根源是: 主存储与副本缓存之间的同步无法原子化导致的,会出现缓存与数据库数据不一致。 如何设计缓存一致性方案 flowchart TD A[开始] --> B{读多写多?} B -- 读多 --> C{并发高?} C -- 低 --> D0[旁路缓存] C -- 一般 --
20
0
0
2026-07-11