gpt4 book ai didi

javascript - 如何防止 CouchDB 在更新简单计数器时创建文档修订

转载 作者:数据小太阳 更新时间:2023-10-29 05:48:48 25 4
gpt4 key购买 nike

我想将计数器存储在 CouchDB 文档中,并在每个页面 View 中递增。CouchDB 将创建本文档的完整修订版,仅需 1 个计数器更新。

这样会不会占用太多空间?考虑到我一天有 100 万次点击,我可能会在一天内查看对文档的 100 万次修订。

关于这个的任何想法......

谢谢!

最佳答案

CouchDB 对其做出的权衡非常明确。在这种特殊情况下,我们谈论的是拥有一个防崩溃数据库,遗憾的是,在压缩之前可以并且将使用大量磁盘。

您可以获得这种可靠性和大量的读取并发性。您还将获得与任何其他节点无缝复制的能力。这是它的培根。由于计数器的碰撞而不得不压缩是很糟糕的。忘掉 _rev_limit 吧。你会把自己搞砸的,因为修改对 Couch 来说是如此基础。

您有一种可能性是记录一些信息、日期和时间、IP 和其他内容。然后您将创建一个 View 来发出您需要的数据并使用 _count 作为您的 reduce 函数。您将获得所需的信息以及其他一些可能对分析有值(value)的信息。这是“只创建一个 View ”的解决方案。

第二种可能性是使用 [redis] ( http://redis.io/commands/incr )。 Redis 非常好,很适合这个用例 ( http://ai.mee.nu/is_couchdb_the_anti-redis )。这将是“适合工作的正确工具”解决方案。

第三种可能性是简单地忽略它。这可能根本不是问题(如果您经常压缩)。这将是“只是放松”的解决方案。

您必须权衡利弊,确保利大于弊。在削减/优化之前对所有内容进行两次测量。

关于javascript - 如何防止 CouchDB 在更新简单计数器时创建文档修订,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7388058/

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