缓存与DB在秒杀业务中的一致性保障问题
2016-12-07 20:41:35 0 举报
在秒杀业务中,缓存与数据库的一致性保障问题是一个关键挑战。由于秒杀场景下并发请求量大,对数据实时性要求高,如果直接操作数据库可能导致性能瓶颈。因此,通常会使用缓存来减轻数据库压力,提高系统响应速度。然而,这也带来了一致性问题:当数据库中的数据更新后,缓存中的数据可能还未同步更新,导致用户看到的是过期或错误的信息。为了解决这个问题,可以采用缓存预热、读写分离等策略,确保数据的一致性。同时,还可以设置缓存失效策略,及时淘汰过期数据,减少不一致的可能性。总之,在秒杀业务中,保证缓存与数据库的一致性至关重要,需要综合考虑多种策略和技术手段来实现。
作者其他创作
大纲/内容
工作线程
DB库存=0
数据库Schema1
N
数据库Schema3
Application
工作线程内的缓存处理
update table set goods_counts = goods_counts - Ywhere transanction_id = N and goods_counts Y limit 1
读取缓存
Dubbo Service 层
写线程
通过Sharding 层保证同一个事务 ID 有序分布在同一个 Schema
同步操作
DB 连接池中的一个连接
Y
数据库 Sharding 层
DB 连接池
更新缓存
商品下架
任务队列
数据库Schema2
数据库Schema4
读线程
更新DB
缓存计数=0失效缓存
0 条评论
下一页