golang数据库 MongoDB Capped集合(5)

Golang 2023/04/23 Golang, MongoDB

一 Capped集合简介

Capped集合是固定大小的集合,性能很高,且具备队列过期的特性(创建时指定大小,按照顺序插入,如果空间用完 ,新添加的对象自动替换旧的对象),所以我们可以将其想象为一个环形队列。

固定集合特点:

  • 插入速度极快

  • 按照插入顺序查询速度极快

  • 能够在插入最新数据时淘汰旧数据

  • 不允许删除

固定集合应用场景:

  • 存储日志信息

  • 缓存少量文档

使用find()查询将会得到按照插入顺序排列的文档,find().sort({$natural:-1})反序排列。

Capped集合在创建时默认不会对任何键创建索引,此时插入对象的速度和在文件系统中记录日志的速度相当,所以经常用来存储日志,且由于空间大小达到后,也不会担心空间不足,因为会自动替换。(32位机器上大小为482.5M,64位机器上只受系统文件大小影响)。

创建Capped集合
db.createCollection("testcapped", {"capped": true, "size": 100000})       
创建时的其他参数:
    max             可以限制对象的额数量
    autoIndexId     默认为false,true时代表是否创建索引

查看Capped集合使用情况
db.testcapped.validate()

注意:当写比读多时,建议不要在Capped集合上创建索引,会降低插入速度。


本文地址:https://www.stayed.cn/item/386

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。