05. Redis与数据库的一致性

3y 2021-08-20 16:27:36
Categories: Tags:

面试官:来聊聊Redis和数据库的一致性吧?

候选者:嗯,对于数据库与缓存的一致性,首先要明确的是:它俩是不能保证强一致性的。如果有强一致性的需求,当然也不会用缓存了。那谈这俩的一致性,一般我们聊的是最终一致性

候选者:我们要让数据库和缓存实现最终一致性,最简单的,就拿Redis来举例。我们只要写进Redis的数据设置过期时间,那自然就能保证最终一致性。

候选者:因为我们一般使用缓存的场景是这样的:当读数据时,缓存有读缓存。缓存没有,那就读数据库,然后写入缓存。

候选者:那么,缓存失效的时候,我们会重新读数据库最新的数据,然后写入到缓存里。到这一刻,我们数据库和缓存是一致的。只是这个一致性相对有点「粗糙」