mongodb固定集合(Capped Collection)和大文件管理(GridFS)

CappedCollection 查看集合的狀態(tài)信息db.cot1.stats(); // 查看集合cot1的狀態(tài)信息 刪掉指定集合db.collection1.drop(); // 刪除collection1集合 mongodb中集合創(chuàng)建默認(rèn)是隱式創(chuàng)建的,可以使用createCollection顯示創(chuàng)建集合db.createCollection( “collect” );

capped?collection

查看集合的狀態(tài)信息 db.cot1.stats(); //查看集合cot1的狀態(tài)信息 刪掉指定集合 db.collection1.drop(); //刪除collection1集合 mongoDB中集合創(chuàng)建默認(rèn)是隱式創(chuàng)建的,可以使用createCollection顯示創(chuàng)建集合 db.createCollection(“collect”); 刪掉指定數(shù)據(jù)庫 db.dropDatabase(); //刪除當(dāng)前數(shù)據(jù)庫 查詢所有數(shù)據(jù)庫 show dbs //查詢所有數(shù)據(jù)庫 顯示當(dāng)前庫中所有集合 show tables; 或者 show collections;

?

固定集合的功能特點(diǎn)

?

固定集合屬性及用法:

屬性1:對(duì)固定集合進(jìn)行插入速度極快

屬性2:按照插入順序的查詢輸出速度極快

?

用法1:儲(chǔ)存日志信息

用法2:緩存一些少量的文檔

?

創(chuàng)建固定集合

eg. db.createCollection(“collect”,{capped:true,?size:10000});

?

可以再創(chuàng)建capped collection時(shí)指定collection中能夠存放的最大文檔數(shù)目,但這是要指定size,因?yàn)榭偸窍葯z查size后檢查maxRowNumber.可以使用validate()查看一個(gè)collection已經(jīng)使用了多少空間,從而決定size設(shè)為多大. > db.createCollection(“mycappedcoll”,{capped:true,size:10000,max:100}) { “ok” : 1 } > db.mycappedcoll.validate(); 創(chuàng)建collection時(shí)還有一個(gè)參數(shù)”autoIndexID”,值可以為”true”和”false”,決定是否需要在”_id”上創(chuàng)建索引,例如 > db.createCollection(“mycappedcoll”,{capped:true,size:10000,max:100,autoIndexId:false}) 默認(rèn)情況下對(duì)一般的collection是創(chuàng)建索引的,但不會(huì)對(duì)capped collection創(chuàng)建.capped collection不能被Shard,這也是有道理的,一個(gè)經(jīng)常被刷新且大小固定的表,做Sharding(分片)也沒太大意義.

?

轉(zhuǎn)換集合

把普通的集合轉(zhuǎn)換成固定集合需要使用convertTocapped命令

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

?

自然排序

db.mycappedcolt.find().sort( {“$natural”:1} );

?

判斷集合是否為固定集合

db.colt.isCapped();

?

查看集合狀態(tài)信息

db.colt.stats();

?

GridFS

GridFS可以避免用戶上傳內(nèi)容的文件系統(tǒng)出現(xiàn)問題.

GridFS不產(chǎn)生磁盤碎片

?

GridFS存儲(chǔ)數(shù)據(jù)

GrdiFS使用兩個(gè)表來存儲(chǔ)數(shù)據(jù):

files?包含元數(shù)據(jù)對(duì)象

chunks?包含其他一些相關(guān)信息的二進(jìn)制塊.

各種第三方語言可以更改其前綴

?

使用GridFS?mongofiles

eg. ./mongofiles put testfile.zip ./mongofiles list ./mongofiles get testfile.zip ./mongofiles delete testfile.zip 驗(yàn)證md5 mg5sum testfiles.zip 此時(shí)登錄mongo,show tables可以看到新增2個(gè)文件fs.files和fs.chunks. 查看fs.files中的內(nèi)容 db.fs.files.find(); fs.files 中存儲(chǔ)的是一些基礎(chǔ)的元數(shù)據(jù)信息. db.fs.chunks.find(); fs.chunks 中存儲(chǔ)的是一些實(shí)際的內(nèi)容數(shù)據(jù)信息.

轉(zhuǎn)載請(qǐng)注明出處:[]

?

?

mongodb固定集合(Capped Collection)和大文件管理(GridFS)

?

?

,香港服務(wù)器租用,香港服務(wù)器,香港虛擬主機(jī)

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊9 分享