固定集合:capped collection 是性能出色的固定大小的集合,以LRU算法淘汰记录,自助维护集合中的对象的插入顺序,创建时预先制定大小,空间使用完,心对象取代旧的对象,保持最新的数据。

可以插入及更新,但更新不能超出

collection 的大小,否则更新失败。不允许删除,但是可 以调用 drop() 删除集合中的所有行,但是drop 后需要显式地重建集合。在 32 位机上,一 个 capped collection 的最大值约为 482.5M,64 位上只受系统文件大小的限制。

属性以及用法:

属性:1、对固定集合插入速度极快。

2、按照插入顺序的查询输出速度极快。

3、能够在插入最新时候淘汰最早的数据。

用法:1、储存日志信息。

   2、储存少量的文档。

使用

1、可以在创建 capped collection 时指定 collection 中能够存放的最大文档数。但这时也要指
定 size, 因为总是先检查 size 后检查 maxRowNumber。 可以使用 validate()查看一个 collection 已经使用了多少空间,从而决定size 设为多大。如:

db.createCollection("mycoll", {capped:true, size:, max:});  //100000表示字节

注意:指定文档上限,必须指定大小,文档限制是在容量没满时进行淘汰,要是满了,就根据容量限制来进行淘汰。

> db.createCollection("mycol",{capped:true,size:,max:})
{ "ok" : }
> db.mycol.val
db.mycol.validate( db.mycol.valueOf(
> db.mycol.validate() //用来查看固定集合的使用情况
{
"ns" : "admin.mycol",
"capped" : true,
"max" : ,
"firstExtent" : "0:8c000 ns:admin.mycol",
"lastExtent" : "0:8c000 ns:admin.mycol",
"extentCount" : ,
"datasize" : ,
"nrecords" : ,
"lastExtentSize" : ,
"padding" : ,
"firstExtentDetails" : {
"loc" : "0:8c000",
"xnext" : "null",
"xprev" : "null",
"nsdiag" : "admin.mycol",
"size" : ,
"firstRecord" : "null",
"lastRecord" : "null"
},
"deletedCount" : ,
"deletedSize" : ,
"nIndexes" : ,
"keysPerIndex" : {
"admin.mycol.$_id_" :
},
"valid" : true,
"errors" : [ ],
"warning" : "Some checks omitted for speed. use {full:true} option to do more thorough scan.",
"ok" :
}
> db.createCollection("mycol",{capped:true,size:,max:,autoIndexId:false})
//创建collection时还有一个参数”autoIndexID”,值可以为”true”和”false”,决定是否需要在”_id”上创建索引 { "ok" : , "errmsg" : "collection already exists" } > db.mycol.drop() true > db.createCollection("mycol",{capped:true,size:,max:,autoIndexId:false}) { "ok" : } >

2、转换集合   把test普遍集合转换为固定集合,大小为10000字节.

db.runCommand( { convertTocapped:"test",size: } );

3、自然排序

固定集合文档按照插入顺序储存的,默认情况下查询就是按照插入顺序返回的,也可以使用$natural调整返回顺序.

db.mycappedcolt.find().sort( {"$natural":} );

参数1表示默认顺序,-1则相反.

4、判断集合是否为固定集合

db.colt.isCapped();

5、查看集合状态信息

db.colt.stats();

MongoDB-固定集合 capped collection 操作 介绍的更多相关文章

  1. mongoDB 固定集合(capped collection)

    固定集合(Capped Collection)是一种尺寸固定的“循环”集合,可提供高效的创建.读取.删除等操作.这里所指的“循环”的意思是,当分配给集合的文件尺寸耗尽时,就会自动开始删除最初的文档,不 ...

  2. MongoDB固定集合(capped collection)

    固定集合指的是事先创建而且大小固定的集合 . 固定集合特性:固定集合很像环形队列,如果空间不足,最早的文档就会被删除,为新的文档腾出空间.一般来说,固定集合适用于任何想要自动淘汰过期属性的场景,没有太 ...

  3. MongoDB的学习和使用(固定集合[Capped Collections])

    MongoDB 固定集合(Capped Collections) MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环 ...

  4. MongoDB固定集合(Capped Collections)

    MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环形队列,当集合空间用完后,再插入的元素就会覆盖最初始的头部的元素! ...

  5. MongoDB固定集合

    固定集合 MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环形队列,当集合空间用完后,再插入的元素就会覆盖最初始的头 ...

  6. MongoDB 固定集合

    MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环形队列,当集合空间用完后,再插入的元素就会覆盖最初始的头部的元素! ...

  7. 用mongodb 固定集合实现只保留固定数量的记录,自动淘汰老旧数据

    在一个保存report记录的场景中,我们使用MongoDB进行数据存储 example: db: report Collection: daily_report 创建db:  use report; ...

  8. 关于MongoDB 固定集合(capped collection)的知识梳理

    一 . 什么是固定集合 MongoDB中有一种特殊类型的集合,值得我们特别留意,那就是固定集合(capped collection). 固定集合可以声明collection的容量大小,其行为类似于循环 ...

  9. MongoDB固定集合(capped collection)

    一 . 什么是固定集合 MongoDB中有一种特殊类型的集合,值得我们特别留意,那就是固定集合(capped collection). 固定集合可以声明collection的容量大小,其行为类似于循环 ...

随机推荐

  1. C#里4个访问权限修饰符

    C#里类及类成员的修饰符有以下五个如下:public 公开 类及类成员的修饰符 对访问成员没有级别限制private 私有 类成员的修饰符 只能在类的内部访问protected 受保护的 类成员的修饰 ...

  2. 解决wordpress的fonts.googleapis.com在国内无法访问的问题

    因为wordpress及主题的样式中几乎都使用了fonts.googleapis.com,而国内因为你知道的原因,是无法正常使用google服务的,因此导致在很多国内设备上打不开wordpress页面 ...

  3. 关于Linux

    这是一个2B让我写的关于Linux的一点东西. 其实我对Linux一直都是持有一种很尊敬的态度,作为一个非商业性的操作系统,能够成长成这样简直是不可思议,有一种Dota在游戏界的感觉,很让人佩服.但是 ...

  4. SPJ

    1. ∏sno(δjno='j1'(spj))2. ∏sno(δpno='p1'(δjno='j1'(spj)))3. ∏sno(δjno='j1'(spj)∞δcolor='红'(p))4. ∏jn ...

  5. E - Find The Multiple

    题目大意 找倍数 给你一个数,找到一个能数是它的倍数的数,当然这个数只能由0和1组成.......这个数最大200,比较唬人,其实这个数在最大也不超过2^64.....简单广搜一下 ///////// ...

  6. HDOJ 1787 GCD Again(欧拉函数)

    GCD Again Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  7. java 数据库两种连接方法

    package jdbc; import java.sql.*; public class ConnectionDemo2 { public static final String DBDRIVER= ...

  8. 请输出in.txt文件中的2 4 6 8 9 10 12行

    in.txt文件: 学号 姓名 性别 年龄 1001 张三 男 18 1002 赵四 男 19 1003 李丽 女 18 1004 刘芳 女 32 1005 王五 男 54 1006 小明 男 32 ...

  9. noip 2013 华容道

    /*双向bfs (得分和单项的一样多....)70*/ #include<iostream> #include<cstdio> #include<cstring> ...

  10. 关于uploadify 没有显示进度条!!!!

    如果你也弄了很久不知道为什么不出现上传进度条!,那就一定要看这里了! 我注释了 queueID 属性后 就出现了!!!!! 就是这么简答! //添加界面的附件管理 $('#file_upload'). ...