跳至主要內容
缓存双写一致性问题

只要使用缓存,就可能涉及到 Redis 缓存与数据库 双存储双写,只要是双写,就一定会有数据一致性的问题!

image-20240416203555111

你是如何解决数据一致性问题的?

  • 采用 双检加锁 策略

多个线程同时去查询数据库的这条数据,那么我们可以在第一个查询数据的请求上使用一个 互斥锁来锁住它。其他的线程走到这一步拿不到锁就等着,等第一个线程查询到了数据,然后做缓存。后面的线程进来发现已经有缓存了,就直接走缓存。


鲨瓜...大约 6 分钟Redis缓存MySQL数据一致性