Mongodb 封顶集合与队列

Mongodb 封顶集合与队列,mongodb,data-structures,queue,capped-collections,Mongodb,Data Structures,Queue,Capped Collections,我试图理解什么是capped集合,特别是在MongoDB的上下文中,与queue相比有什么区别?cappedMongoDB中的集合是实现的 来自官方文件 Capped集合是固定大小的集合,支持基于插入顺序插入和检索文档的高通量操作。封顶集合的工作方式类似于循环缓冲区:一旦集合填满其分配的空间,它就会覆盖集合中最旧的文档,从而为新文档腾出空间 封顶收藏将在最旧的文档达到限制时删除它,因此,如果需要处理封顶收藏中的所有文档,这可能是一个问题 :封顶集合的工作方式类似于循环 缓冲区:一旦集合填满分配的

我试图理解什么是capped集合,特别是在MongoDB的上下文中,与queue相比有什么区别?

cappedMongoDB中的集合是实现的

来自官方文件

Capped集合是固定大小的集合,支持基于插入顺序插入和检索文档的高通量操作。封顶集合的工作方式类似于循环缓冲区:一旦集合填满其分配的空间,它就会覆盖集合中最旧的文档,从而为新文档腾出空间


封顶收藏将在最旧的文档达到限制时删除它,因此,如果需要处理封顶收藏中的所有文档,这可能是一个问题

:封顶集合的工作方式类似于循环 缓冲区:一旦集合填满分配的空间,它就会腾出空间 通过覆盖中最旧的文档来获取新文档 收藏

与队列相比:

  • 队列已满时不会删除记录(它可能引发异常) (如内存不足)

  • 队列可以在退出队列时删除记录-在capped集合中,您需要自己删除它

  • 封顶集合清理:如果封顶集合大小为40个文档-则在添加第41个文档时->删除第一个条目


  • 我认为这是最重要的事情-欢迎任何评论

    谢谢你提供的信息,尽管你能详细说明一下,但这并不能让我真正明白。谢谢,可以重述一下:)-队列可以自动删除旧元素(FILO)。-在capped集合中,清除显式进行(?)@dmi3y在capped集合中,没有清除。旧文档将从中删除。因此,如果封顶集合大小为40个文档,那么当添加41个文档时->1将被删除