写更新缓存数据代码时,先删除缓存,然后再更新数据库感觉可行

写更新缓存数据代码时,先删除缓存,然后再更新数据库的方法,如果改变下删除缓存的方式,是可以简单地解决问题地

先删除缓存,可以不是真的删除:可以改为软删除,记录缓存的 version 和过期时间(比数据库过期时间长一秒就可以)——当查询操作操作发现软件删除时,会直接从数据库取数据,数据库数据的 vesion 小于等于缓存 version 时就不更新缓存,大于缓存 version 时就更新。

如果数据库操作失败,就真删除缓存,如果删除缓存失败,因为有过期时间兜底,问题不会太大。

如果数据库操作成功,有查询操作就会更新缓存。

相关文章

One thought on “写更新缓存数据代码时,先删除缓存,然后再更新数据库感觉可行

  1. 没必要弄个 version,更新缓存的代价可以忽略不计,你这还加个 version 字段反而把问题搞复杂了

发表评论

电子邮件地址不会被公开。 必填项已用*标注