缓存和数据库又双叒不一致了 我们的商品详情页用"先更新 DB,再删缓存"的策略。大多数时候没问题,但运营一次批量改价后,部分用户看到的价格还是旧的,持续了十几分钟。根因是并发下的时序问题:线程 A 更新 DB、还没删缓存时,线程 B 读了旧 DB 值并写回缓存,导致 A 的删除"删了个寂寞",脏数据
code review 时,我们为一个顺序吵了半小时 一月中旬,同事小王提了个 PR,商品改价接口里他这么写的: @Transactional public void updatePrice(Long skuId, BigDecimal newPrice) { redisTemplate.d