主动-主动数据库中的集
有关将 set 与 Active-Active 数据库一起使用的信息。
Redis 企业软件 | Redis 云 |
---|
Redis 集是字符串的无序集合。有可能 使用 Redis 命令添加、删除和测试成员是否存在。 Redis 集维护唯一的元素集合。套装可能很棒 用于维护事件列表(点击流)、用户(在组中 对话)、产品(在推荐列表中)、互动(点赞、 shares) 等。
主动-主动数据库中的集合具有相同的行为,并维护额外的元数据 实现 “OR-Set” 行为以处理并发冲突 写。使用 OR-Set 行为,跨多个主动-主动数据库实例进行写入 通常是联合的,除非发生冲突。冲突实例 当主动-主动数据库实例删除元素时,可能会发生写入作,而 other 添加相同的元素。在这种情况下,观察到的删除规则为 跟着。也就是说,remove 只能删除它已经看到的实例 在所有其他情况下,element add 获胜。
以下是 “add wins” 案例的示例:
时间 | CRDB 实例 1 | CRDB 实例 2 |
---|---|---|
T1 | SADD 键 1 “a” | |
T2 | SADD 键 1 “b” | |
T3 | SMEMBERS 键 1 “a” | SMEMBERS 键 1 “b” |
T4 | — 同步 — | — 同步 — |
T3 | SMEMBERS 键 1 “a” “b” | SMEMBERS 键 1 “a” “b” |
下面是 “observed remove” 案例的示例。
时间 | CRDB 实例 1 | CRDB 实例 2 |
---|---|---|
T1 | SMEMBERS 键 1 “a” “b” | SMEMBERS 键 1 “a” “b” |
T2 | SREM 键 1 “a” | SADD 键 1 “c” |
T3 | SREM 键 1 “c” | |
T4 | — 同步 — | — 同步 — |
T3 | SMEMBERS 键 1 “c” “b” | SMEMBERS 键 1 “c” “b” |