首页 > 数据库 >读写分离的场景下,怎么保证从数据库读到最新的数据?

读写分离的场景下,怎么保证从数据库读到最新的数据?

时间:2022-12-28 11:56:58浏览次数:38  
标签:主库 场景 请求 标记 读写 缓存 从库 数据库

数据库主从复制

数据库读写分离,主要解决高并发时,提高系统的吞吐量。来看下读写分离数据库模型:
image

方案一:强制走主库

● 写请求是直接写主库,然后同步数据到从库
● 读请求一般直接读从库,除飞强制读主库

方案二:缓存标记法

在高并发场景或者网络不佳的场景,如果存在较大的主从同步数据延迟,这时候读请求去读从库,就会读到旧数据。这时候最简单暴力的方法,就是强制读主库。实际上可以使用缓存标记法。
image
● A发起写请求,更新主库数据,并在缓存中设置一个标记,表示数据已更新,标记格式为:userId+业务Id。
● 设置此标记,设置过期时间(估值为主库和从库同步延迟的时间)
● B发起读请求,先判断此请求,在缓存中有没有更新标记。
● 如果存在标记,走主库;如果没有,请求走从库。
这个方案,解决了数据不一致问题,但是每次请求都要先跟缓存打交道,会影响系统吞吐。

标签:主库,场景,请求,标记,读写,缓存,从库,数据库
From: https://www.cnblogs.com/befmain/p/17009808.html

相关文章