主动-主动数据库中的哈希值
有关将哈希与主动-主动数据库一起使用的信息。
Redis 企业软件 | Redis 云 |
---|
哈希非常适合包含字段映射和 值。它们用于管理分布式用户或应用程序会话 状态、用户首选项、表单数据等。哈希字段包含字符串 type 和字符串类型的作方式与标准 Redis 字符串类型类似 当涉及到 CRDT 时。哈希中的字段可以初始化为字符串 使用 HSET 或 HMSET,或者可用于初始化 使用 HINCRBY 的数字整数或使用 HINCRBYFLOAT 的浮点数。
主动-主动数据库中的哈希值具有相同的行为,并维护额外的元数据 实现 “OR-Set” 行为以处理并发冲突写入。 使用 OR-Set 行为,写入以跨多个 Active-Active 数据库添加新字段 实例通常是联合的,除非发生冲突。 当 Active-Active 数据库实例删除 字段,而另一个则添加相同的字段。在这种情况下,观察到 遵循 remove 规则。也就是说,remove 只能删除它所具有的字段 已看到,在所有其他情况下,element add/update 优先。
字段值的行为与 CRDT 字符串类似。字符串值可以是类型 string,基于用于初始化的命令的计数器整数 字段值。请参阅“主动-主动数据库中的字符串数据类型”和“字符串数据类型” with Counter Value in Active-Active databases“了解更多详细信息。
以下是 “add wins” 案例的示例:
时间 | CRDB 实例 1 | CRDB 实例 2 |
---|---|---|
T1 | HSET 键 1 字段 1 “a” | |
T2 | HSET 键 1 字段 2 “b” | |
T4 | -同步- | -同步- |
T5 | HGETALL 键1 1) “field2”2 ) “b” 3) “field1”4 ) “a” |
HGETALL 键1 1) “field2”2 ) “b” 3) “field1”4 ) “a” |