GridFS作為MongoDB的存儲機(jī)制,用來存放二進(jìn)制大文件;
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),青白江企業(yè)網(wǎng)站建設(shè),青白江品牌網(wǎng)站建設(shè),網(wǎng)站定制,青白江網(wǎng)站建設(shè)報(bào)價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,青白江網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
GridFS有以下優(yōu)點(diǎn):
(1)使用GridFS簡化存儲棧,在MongoDB中替代獨(dú)立的存儲工具;
(2)GridFS會自動平衡已有的復(fù)制和自動分片,對文件存儲做故障轉(zhuǎn)移揮著橫向擴(kuò)展會更容易;
(3)MongoDB中以2GB的大小來分配數(shù)據(jù)文件,在GridFS中文件存儲集中度會比較高;
GridFS當(dāng)然也有缺點(diǎn):
(1)從GridFS中讀取文件沒有直接從文件系統(tǒng)中快;
(2)修改存放在GridFS中的文檔,只有先刪除就文檔然后從新保存文檔;
(3)如果大文件作為多個文件存儲,修改這個大文檔時無法對所有的文件塊加鎖;
針對上述的優(yōu)缺點(diǎn),可以看出,GridFS比較適合存放不常修改的大文件。
使用mongofiles管理GrideFS
(1)用—help來查看mongofiles參數(shù)
[root@localhost ~]# mongofiles --help Browse and modify a GridFS filesystem.
(2)上傳一個文件到數(shù)據(jù)庫foo中的GridFS
[root@localhost ~]# echo "hello world" >foo.txt [root@localhost ~]# mongofiles -d foo put foo.txt connected to: 127.0.0.1 added file: { _id: ObjectId('54b3d62983047a88669bc529'), filename: "foo.txt", chunkSize: 261120, uploadDate: new Date(1421071914003), md5: "6f5902ac237024bdd0c176cb93063dc4", length: 12 } done!
(3)列出GridFS中存儲的文檔
[root@localhost ~]# mongofiles -d foo list connected to: 127.0.0.1 foo.txt 12
(4)將文檔中GridFS中下載到文件系統(tǒng)中
[root@localhost ~]# rm foo.txt rm: remove regular file `foo.txt'? y [root@localhost ~]# mongofiles -d foo get foo.txt connected to: 127.0.0.1 done write to: foo.txt [root@localhost ~]# cat foo.txt hello world
(5)搜索和刪除文檔
[root@localhost ~]# mongofiles -d foo search foo.txt connected to: 127.0.0.1 foo.txt 12 [root@localhost ~]# mongofiles -d foo delete foo.txt connected to: 127.0.0.1 done! [root@localhost ~]# mongofiles -d foo search foo.txt connected to: 127.0.0.1 [root@localhost ~]#