文档首页/ 多活高可用服务 MAS/ 开发指南/ MAS-Redis-SDK使用手册/ 使用场景/ single-read-async-double-write(单边读异步双写)
更新时间: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命令双写不适用。

相关文档