更新时间:2024-11-28 GMT+08:00
single-read-async-double-write(单边读异步双写)
另起线程进行数据同步,不能保证异步写成功、不能保证两端数据的一致性。
图1 single-read-async-double-write部署图
读写指定异步双写,适用于读多写少场景,使用SDK同步两个Redis,一条写命令会先在指定Redis上执行,成功后,异步写到另一端。
本地读异步双写场景具体操作:
- 对于用户,不感知多个Redis。
- 对于SDK。
- 读操作:同步路由到指定的Redis。
- 写操作:同步路由到指定的Redis,同时异步发送到远端Redis。
此场景下可切换指定的Redis。
- 当不同实例内SDK操作同一个Redis key时,不能保证两个Redis的一致性。
- 当SDK发生Redis切换时,切换前产生的异步双写命令和切换后主流程写操作同一个Redis的key时,两者不保证顺序:即有主流程写的值被异步双写覆盖。
- spop命令双写不适用。
父主题: 使用场景