Soul-Key 个人博客
盛年不重来,一日难再晨,及时当勉励,岁月不待人。

如何保证本地缓存、分布式缓存、数据库之间的数据一致性?

Soul-Yang 2019-08-06 16:35:14 675 ℃ 0
在现在的系统架构中,缓存的地位可以说是非常高的。因为在互联网的时代,请求的并发量可能会非常高,但是关系型数据库对于高并发的处理能力并不是非常强,而缓存由于是在内存中处理,并不需要磁盘的IO,所以非常适合于高并发的处理,也就成为了各个系统中必不可少的一部分了。 不过,由此产生的问题也是非常多的,其中一个就是如何保证数据库和缓存之间的数据一致性。 由于数据库的操作和缓存的操作不可能在一个事务中,也就势必会出现数据库写入失败,缓存不能更新,缓存写入失败的补偿机制。具体我们应该怎么做呢? 我们先看一个最常见的读缓存的例子 在读取缓存的方式中,上图这种方式可以说是最为广泛使用的了。读本身是没有什么问题的,但是,写入缓存的方式,就是保证数据一致性的重中之重了。 这里我们不考虑定时刷新缓存的方式,也就是下面这类方式: 写入数据库和写入缓存是独立的,写入数据库操作后,需要等待定时服务执行,执行完成后缓存数据才会刷新。 这种方式会导致数据的不一致时间较长,数据刷新时,不管有没有改变的数据,都会重新加载,效率差。当然,并不是说这种方式就没用,还是有一些场景是可以使用的,例如一些系统配置的缓存...

关于博客主人

搜索

分类

留言
https://blog.key9.cn/
用户登录
您还没有写任何评论内容!
您已经评论过了!
只能赞一次哦!
您已经收藏啦!