视频讲解
这是一个 Cache-aside(旁路缓存)模型:客户端把请求交给应用服务器,服务器先查 Redis,命中就直接返回;未命中时再访问 PostgreSQL,并将结果写回缓存。视频用不同颜色的流动信号、缓存格子、TTL 刻度与事件日志,串起“未命中 → 回填 → 命中 → 写入失效 → 再次未命中”的过程,也演示了过期和清空缓存。
命中与未命中的两条路径
命中时请求在 Redis 中得到结果,绕过数据库;未命中时应用读取数据库,再把结果放入缓存。视频中的快慢通路对应这两种情况,显示的延迟是演示参数。
TTL 决定有效期
TTL 是键的存活时间。到期后再次请求会发生未命中并重新加载。缩短 TTL 能减少陈旧数据的保留时间,但可能增加回源;TTL 本身不保证数据始终最新。
写入后让缓存失效
视频里的 WRITE + DEL 先更新数据,再删除对应缓存键。下一次读取会从数据库取得新值并回填;并发读写时仍需要处理竞态,不能把这个简化动画当作完整的一致性方案。
缓存容量与整体清空
模型只画了有限数量的缓存格子。实际 Redis 的内存限制与淘汰策略需要配置;清空所有缓存会让后续请求重新回源。它与单个键过期、删除或因内存压力被淘汰是不同操作。