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
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我