查看更多当前 - 案例分析 - 数据库系统与缓存设计
简单
案例题
2024年11月第2题
#必须掌握
#超纲

阅读以下关于数据库缓存架构的叙述,在答题纸上回答问题1-3。
某电商平台使用缓存来存储热点商品数据。旁路缓存模式是常见的一种缓存模式,其核心是将缓存模块设置为I/O路径的一个非强制性组成部分。这意味着缓存模块可以根据需要灵活地加入或移除,而不会影响原有的I/O路径的完整性。在这种模式下,缓存是一个附加组件,提供了一个可选的数据访问路径。

分值(10分

根据旁路缓存模式的读数据原理,填写下图中(1)到(5)的空白。

参考答案

(1)向缓存请求读取该商品信息
(2)有缓存目标数据则直接返回, 若命中则返回该商品信息
(3)没有则提交给数据库进行查询,若未命中则访问数据库查询该商品信息
(4)将查询到的数据库数据更新到缓存
(5)将查询到的数据库目标数据返回

凯恩解析

旁路模式在开发中用的比较多,其核心是将缓存模块设置为I/O路径的一个非强制性组成部分。在这种模式下,缓存是一个附加组件。在读操作中,首先根据Key在缓存中查找所需的数据。如果成功找到(命中),则直接返回数据;若未命中,则会从存储模块获取,并在适当的时候把数据写入缓存。

另外还有两种模式凯恩建议大家了解。
读写穿透(Read/Write Through) 模式是指所有读写操作都经过缓存,缓存负责同步数据库。该模式保证了缓存与数据库的数据一致性,适合读写均衡且对一致性要求较高的系统,例如权限管理或账户信息场景。但它高度依赖缓存系统,一旦缓存出现故障,将严重影响整体服务稳定性。在日常开发中,可以尝试使用 Redisson + RMapLoader/Writer 的组合。

写回缓存(Write Back / Write Behind) 模式是将写操作先写入缓存,再异步写入数据库,能显著提升写入性能,适用于写多读少、对实时一致性要求不高的场景,如日志收集或行为打点系统。缺点是数据可能在写入数据库前丢失,存在一致性风险,需配合持久化机制确保可靠性。一般和消息队列进行配合。

联系我们
隐私协议
用户协议
微信公众号
知乎
小红书
浙ICP备2021029036号
@2022-2026
嘉兴市安芯网络科技有限公司 版权所有