首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >单个计数器的最快nosql

单个计数器的最快nosql
EN

Stack Overflow用户
提问于 2011-11-24 07:51:21
回答 2查看 1.2K关注 0票数 1

Mongodb将objectid作为默认主键,这提供了很好的可扩展性,但是url很糟糕,我更喜欢url中的简单ID。此外,将int()放在应该接收任何东西的每个ID的情况下都非常可靠

所以想法是这样的:在通过mongodb保存任何对象之前,调用另一个nosql来接收全局计数器,该调用应该是原子的,并返回int

Redis's Inc.完全符合要求问题是...redis真的是最好的解决方案吗?也许其他一些nosql会使多个客户端的简单计数增量比redis更快?

EN

回答 2

Stack Overflow用户

发布于 2011-11-24 08:05:21

您可以将这个递增的数字键以类似{ "_id": 1, "currentKey": 99 }的形式存储在MongoDB本身的单个文档集合中。

使用findAndModify命令以原子方式递增和检索currentKey值。

最好将MongoDB URL值保留为您的ObjectId,并将此数字键存储在一个单独的唯一索引字段中,以便用于_id查找。这样,如果您想要向下扩展,您将做好更好的准备。

票数 1
EN

Stack Overflow用户

发布于 2011-11-24 07:54:06

您可以为mongodb生成自己的ids,有这样一个选项。但是,你将不得不处理唯一性问题。为什么要使用另一个nosql来完成这个任务呢?我认为这是没有意义的,如果可以,你可以创建你自己的唯一密钥,并与mongo一起使用。

Redis Inc.用于计数器,如果您查看该功能,mongodb还有一个$inc操作符,您可以将其用作计数器。但这不是这个运算符的目的。它们主要用于分析等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8250688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档