MongoDB-固定集合 capped collection 操作 介绍
固定集合: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 操作 介绍的更多相关文章
- mongoDB 固定集合(capped collection)
固定集合(Capped Collection)是一种尺寸固定的“循环”集合,可提供高效的创建.读取.删除等操作.这里所指的“循环”的意思是,当分配给集合的文件尺寸耗尽时,就会自动开始删除最初的文档,不 ...
- MongoDB固定集合(capped collection)
固定集合指的是事先创建而且大小固定的集合 . 固定集合特性:固定集合很像环形队列,如果空间不足,最早的文档就会被删除,为新的文档腾出空间.一般来说,固定集合适用于任何想要自动淘汰过期属性的场景,没有太 ...
- MongoDB的学习和使用(固定集合[Capped Collections])
MongoDB 固定集合(Capped Collections) MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环 ...
- MongoDB固定集合(Capped Collections)
MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环形队列,当集合空间用完后,再插入的元素就会覆盖最初始的头部的元素! ...
- MongoDB固定集合
固定集合 MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环形队列,当集合空间用完后,再插入的元素就会覆盖最初始的头 ...
- MongoDB 固定集合
MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环形队列,当集合空间用完后,再插入的元素就会覆盖最初始的头部的元素! ...
- 用mongodb 固定集合实现只保留固定数量的记录,自动淘汰老旧数据
在一个保存report记录的场景中,我们使用MongoDB进行数据存储 example: db: report Collection: daily_report 创建db: use report; ...
- 关于MongoDB 固定集合(capped collection)的知识梳理
一 . 什么是固定集合 MongoDB中有一种特殊类型的集合,值得我们特别留意,那就是固定集合(capped collection). 固定集合可以声明collection的容量大小,其行为类似于循环 ...
- MongoDB固定集合(capped collection)
一 . 什么是固定集合 MongoDB中有一种特殊类型的集合,值得我们特别留意,那就是固定集合(capped collection). 固定集合可以声明collection的容量大小,其行为类似于循环 ...
随机推荐
- Delphi NativeXML 乱码的问题
我遇到 NativeXML 在它的一个节点的属性上面写入属性,但是当读出的值中包含汉字的时候出现了乱码.检查代码如下 NativeXml := TNativeXml.Create; try Nativ ...
- c#反序列化
C#序列化(转载) 2011-03-15 | 凯之风 | 转藏(2) 序列化有下列要求: A> 只序列化PUBLIC的成员变量和属性 B> 类必须有默认识构造函数 C> 如果 ...
- 课后习题 SPJ
CREATE TABLE S ( SNO char(2) primary key, SNAME varchar(20), STATUS char(4), CITY char(10) ); create ...
- hdoj 2085 核反应堆【水】
核反应堆 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- UVA 10820 - Send a Table 数论 (欧拉函数)
Send a Table Input: Standard Input Output: Standard Output When participating in programming contest ...
- angular ng-class使用笔记
在前面Angularjs开发一些经验总结中说到在angular开发中angular controller never 包含DOM元素(html/css),在controller需要一个简单的POJO( ...
- 浅析Android中的消息机制-解决:Only the original thread that created a view hierarchy can touch its views.
在分析Android消息机制之前,我们先来看一段代码: public class MainActivity extends Activity implements View.OnClickListen ...
- C#读写共享文件夹
该试验分以下步骤: 1.在服务器设置一个共享文件夹,在这里我的服务器ip地址是10.80.88.180,共享文件夹名字是test,test里面有两个文件:good.txt和bad.txt,访问权限,用 ...
- SQL 约束解说
SQL 约束解说 2009-04-27 09:29 约束主要包含: NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK DEFAULT 1.not null : ...
- Linux & Mac curl 命令行使用——POST&GET
http提交一个表单,比較经常使用的是POST模式和GET模式 在curl的命令行下,GET模式什么option都不用.仅仅须要把变量写在url里面就能够了 比方: curl http://www.s ...