我试图了解上限集合是什么,特别是在 MongoDB 的上下文中,与队列相比有什么区别?
问问题
547 次
2 回答
2
Capped collection 将在达到其限制时删除最旧的文档,因此如果需要处理capped collection中的所有文档,这可能是一个问题。
来自 mongo:封顶集合的工作方式类似于循环缓冲区:一旦集合填满其分配的空间,它会通过覆盖集合中最旧的文档来为新文档腾出空间。
与队列相比:
队列满时不会删除记录(它可能会抛出内存不足等异常)
queue 可以在 dequeued 时删除记录 - 在 capped collection 中,您需要自己删除它
上限集合清理:如果上限集合大小为 40 个文档 - 那么当添加第 41 个文档时 -> 删除第一个条目
我认为这是最重要的事情 - 欢迎任何评论!
于 2016-04-28T08:52:46.907 回答
1
mongodb 中的CAPPED集合是循环缓冲区的实现。
来自官方文档
Capped 集合是固定大小的集合,支持基于插入顺序插入和检索文档的高吞吐量操作。Capped 集合的工作方式类似于循环缓冲区:一旦集合填满了分配的空间,它就会通过覆盖集合中最旧的文档来为新文档腾出空间。
于 2016-04-28T08:51:59.403 回答