您好,登錄后才能下訂單哦!
GridFS作為MongoDB的存儲機制,用來存放二進制大文件;
GridFS有以下優點:
(1)使用GridFS簡化存儲棧,在MongoDB中替代獨立的存儲工具;
(2)GridFS會自動平衡已有的復制和自動分片,對文件存儲做故障轉移揮著橫向擴展會更容易;
(3)MongoDB中以2GB的大小來分配數據文件,在GridFS中文件存儲集中度會比較高;
GridFS當然也有缺點:
(1)從GridFS中讀取文件沒有直接從文件系統中快;
(2)修改存放在GridFS中的文檔,只有先刪除就文檔然后從新保存文檔;
(3)如果大文件作為多個文件存儲,修改這個大文檔時無法對所有的文件塊加鎖;
針對上述的優缺點,可以看出,GridFS比較適合存放不常修改的大文件。
使用mongofiles管理GrideFS
(1)用—help來查看mongofiles參數
[root@localhost ~]# mongofiles --help Browse and modify a GridFS filesystem.
(2)上傳一個文件到數據庫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中下載到文件系統中
[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 ~]#
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。