10、分布式缓存如何保证数据一致性?
答:
分布式缓存的设计目的就是在系统查找数据时,不再查找数据库,而是查找缓存,这要求缓存与数据库中的数据一致。
然而,在系统实际运行中可能出现这种情况:系统在删除缓存与更新数据库的间隙,另一个进程去查找这个数据,由于数据还未完成更新,还是处于更新前状态,查询完就将更新前数据又载入缓存了,数据就不一致了。
因此,解决分布式缓存数据一致性最有效的解决方案,就是在数据库更新和删除数据的前后都分别执行一次该数据在缓存中的删除。然后,为了避免最后一次删除失败,还需要定期比对缓存数据,将比对不一致的数据从缓存中删除。