面试题答案
一键面试写直达(Write Through)
- 适用场景:适用于对数据一致性要求极高,且后端存储性能相对较好的场景。比如银行系统的账户余额更新场景。
- 原因:写直达策略在每次写操作时,同时更新缓存和后端存储。在银行系统中,账户余额数据至关重要,任何数据不一致都可能导致严重后果。采用写直达策略能确保缓存和后端存储的数据实时一致。当客户进行转账操作更新账户余额时,立即更新缓存和数据库,保证所有后续查询都能获取到最新准确的余额信息。
写回(Write Back)
- 适用场景:适用于对性能要求较高,后端存储I/O操作相对较慢,且能容忍一定时间内数据不一致的场景。例如电商系统的商品浏览量统计场景。
- 原因:写回策略仅在缓存中的数据被替换时才将其写回后端存储。在电商系统中,商品浏览量统计对实时性要求并非极高,且大量频繁更新浏览量到数据库会带来较大I/O压力。采用写回策略,每次浏览量增加先在缓存中更新,缓存满或数据被替换时才批量写回数据库,可大大减少对数据库的直接写操作次数,提升系统整体性能。