对于多个数据源,由于操作有先后顺序,导致数据不一致。
解决方案1:采用双写模式
概念:即写数据库的时候,也去写缓存,将数据库最新的数据也写到缓存中
缺陷:当线程1将数据写入数据库的时候,发生网络延迟,这时线程2进来写数据库,写入缓存后,这时线程1恢复 ,将线程1的数据写入到缓存,导致缓存的数据与数据库不一致。
解决方案2:失效模式
概念:写数据库的时候,将缓存的数据删除,别的线程查询的时候,将数据同步到缓存
缺陷:线程1写入数据库,将缓存的数据进行删除
对于多个数据源,由于操作有先后顺序,导致数据不一致。
解决方案1:采用双写模式
概念:即写数据库的时候,也去写缓存,将数据库最新的数据也写到缓存中
缺陷:当线程1将数据写入数据库的时候,发生网络延迟,这时线程2进来写数据库,写入缓存后,这时线程1恢复 ,将线程1的数据写入到缓存,导致缓存的数据与数据库不一致。
解决方案2:失效模式
概念:写数据库的时候,将缓存的数据删除,别的线程查询的时候,将数据同步到缓存
缺陷:线程1写入数据库,将缓存的数据进行删除