标准答案
- 数据库通常承担订单、账户、库存等需要持久化、事务约束和审计追溯的业务事实;缓存保存的是这些事实的可失效副本、预计算结果或短时状态。
- 读路径可以优先查缓存,未命中再查数据库并回填;写路径必须先明确数据库、事件日志或其他持久化存储中的哪一份数据是最终裁决来源。
- 缓存出现丢失、过期、淘汰或短暂不一致时,系统应能从事实来源恢复,而不是让 Redis 中的某个值单独决定扣款、库存或权限结果。
- 少数场景会把专门的日志流或状态存储作为事实来源,但需要显式说明其持久性、复制、恢复和审计边界,不能因为访问快就把普通缓存当数据库。
题目解析
缓存的价值是把高频、可重复计算或允许短时旧读的数据放到更低延迟的路径上。它减少数据库压力,但不会自动解决数据正确性问题;写入、失效和重建的顺序必须围绕事实来源设计。
回答时最好同时说明故障路径:缓存不可用时是否回源、数据库不可用时哪些读取可以降级、哪些写操作必须拒绝。这样能把“缓存加速”与“业务正确性”分开。
常见误区
- 把缓存中的余额、库存或权限快照当成唯一真相,缓存丢失后无法恢复。
- 认为缓存和数据库只要值最终相同就没有设计成本,忽略更新窗口、回填时机和故障恢复。