MongoDB固定集合
MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,大小固定,有点类似数据结构中的循坏队列,先进先出方式。满队列删除原来的元素!
常用命令
创建固定集合:
1 | db.createCollection(“test”,{capped:true,size:20000,max:2000}) |
size 是整个集合空间大小,单位为【KB】
max 是集合文档个数上线,单位是【个】
判断集合是否为固定集合:
1 | db.test.isCapped() |
如果需要将已存在的集合转换为固定集合可以使用以下命令:
1 | db.runCommand({"convertToCapped":"test",size:10000}) |
固定集合文档按照插入顺序储存的,默认情况下查询就是按照插入顺序返回的,也可以使用$natural 调整返回顺序。
1 | db.test.find().sort({$natural:-1}) |
固定集合特点
- 对固定集合进行插入速度极快
- 按照插入顺序的查询输出速度极快
- 能够在插入最新数据时,淘汰最早的数据
固定集合缺点
固定集合无法精确到具体的时间,文档的条数与文档大小都不能确定。固定集合无法分片,对于需要经常查询的可能就不是太合适
应用场景
在数据量较少的情况下,或者只需要保存部分的数据,如
- 储存日志信息用法
- 缓存一些少量的文档