gpt4 book ai didi

couchdb - update_sequence 更改了 cloudant 数据库中的语义?

转载 作者:行者123 更新时间:2023-12-01 02:21:09 25 4
gpt4 key购买 nike

我使用 cloudant couchdb,我注意到数据库上的“_changes”查询返回一个不是数字的“update_sequence”,例如

"437985-g1AAAADveJzLYWBgYM..........".

更重要的是,响应不稳定:如果查询数据库 3 次,我会得到 3 个不同的 update_sequences。

“update_sequence”、“since”等的已知语义是否有任何变化?

问候,
万吉利斯

最佳答案

转述罗伯特先前给出的答案:

更新序列值是不透明的。在 CouchDB 中,它们目前是整数,但在 Cloudant 中,该值是数据库每个分片的序列值的编码。随着集群支持的添加(通过 BigCouch 合并),CouchDB 将来可能会采用这种方式。

在 CouchDB 和 Cloudant 中,_changes 将在每一行返回一个“seq”值,如果您将其作为“since”传回,则保证返回较新的更新。在故障转移的情况下,这可能包括您已经看到的更改。

因此,自特定更新序列以来读取更改的正确方法是这样的;

  • 调用/dbname/_changes?since=
  • 阅读整个回复,随时应用更改
  • 将 last_seq 值记录为您的新检查点 seq 值。

  • 不要解释这两个值,您无法比较它们是否相等。如果需要,您可以在步骤 2 中记录任何“seq”值作为当前检查点 seq 值。你不能做的关键是比较它们。

    关于couchdb - update_sequence 更改了 cloudant 数据库中的语义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20446673/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com