搜索和查询 Active-Active 数据库

搜索和查询 Active-Active 数据库。

从 RediSearch 2.x(在 Redis Enterprise Software (RS) 6.0 及更高版本中支持)开始,您可以在创建时为启用搜索和查询功能,用于Active-Active 数据库

您可以在 Active-Active 数据库的任何实例上运行搜索操作。

工作原理

  1. 创建启用 RediSearch 2.x 的 Active-Active 数据库。
  2. 在数据库的每个实例上创建索引
  3. 如果您使用同义词,需要将它们添加到每个副本中。
  4. 索引由每个实例在数据库键空间之外维护,因此只同步对数据库中哈希的更新。

命令兼容性

Active-Active 数据库不支持以下搜索和查询命令

示例

以下是一个示例,帮助您理解 Active-Active 搜索和查询

时间 描述 CRDB 实例 1 RediSearch 实例 1 CRDB 实例 2 RediSearch 实例 2
t0 在每个实例上创建索引 FT.CREATE idx .... FT.CREATE idx ....
t1 在实例 1 上添加 doc1 作为哈希;RediSearch 在实例 1 上为 doc1 建立索引 HSET doc1 field1 "a" (索引 doc1 field1 "a")
t2 在实例 2 上添加 doc2 作为哈希;RediSearch 在实例 2 上为 doc2 建立索引 HSET doc1 field2 "b" (索引 doc1 field2 "b")
t3 在每个实例中搜索“a”,只在实例 1 中找到结果 FT.Search idx "a"
1) 1
2) doc1
FT.Search idx "a"
1) 0
t4 Active-Active 同步 - 同步 - - 同步 -
t5 在每个实例中都找到了这两个哈希 HGETALL doc1
1) "field2"
2) "b"
3) "field1"
4) "a"
HGETALL doc1
1) "field2"
2) "b"
3) "field1"
4) "a"
t6 在每个实例中搜索“a”,找到两个文档 FT.Search idx "a"
1) 1
2) doc1
FT.Search idx "a"
1) 1
2) doc1

实际结果是您拥有一个具有高度一致性的地理分布式数据库,并且可以在任何实例上运行搜索操作。

为此页面评分
回到顶部 ↑