更新时间:2023-12-27 GMT+08:00
single-read-async-double-write(单边读异步双写)
使用须知:另起线程进行数据同步,不能保证异步写成功、不能保证两端数据的一致性。
图1 single-read-async-double-write部署图
![点击放大](https://support.huaweicloud.com/devg-mas/figure/zh-cn_image_0000001323134009.png)
读写指定异步双写,适用于读多写少场景,使用sdk同步两个redis,一条写命令会先在指定redis上执行,成功后,异步写到另一端。
本地读异步双写场景具体操作:
- 对于用户,不感知多个redis。
- 对于SDK
- 读操作:同步路由到到指定的redis。
- 写操作:同步路由到指定的redis,同时异步发送到远端redis。
此场景下可切换指定的redis。
![](https://support.huaweicloud.com/devg-mas/public_sys-resources/caution_3.0-zh-cn.png)
- 当不同实例内SDK操作同一个redis key时,不能保证两个redis的一致性。
- 当SDK发生redis切换时,切换前产生的异步双写命令和切换后主流程写操作同一个redis的key时,两者不保证顺序:即有主流程写的值被异步双写覆盖。
- spop命令双写不适用。
父主题: 使用场景