Java從入門到精通——數據庫篇MongoDBGridFS文件系統
一、概述
GridFS是MongoDB的一種存儲機制,用來存儲大型二進制文件。
優點:
1.使用GridFS能夠簡化你的棧。如果已經在使用MongoDB,那麼可以使用GridFS來代替獨立的文件存儲工具
2.GridFS會自動平衡已有的復制或者為MongoDB設置的自動分片,所以對文件存儲做故障轉移或者橫向擴展會更容易。
3.當用於存儲用戶上傳的文件時,GridFS可以比較從容地解決其他一些文件系統可能會遇到的問題。
4.在GridFS中,文件存儲的集中度會非常高,因為MongoDB是以2G為單位來分配數據文件。
缺點:
1.GridFS的性能比較低:從MongoDB中訪問文件,不如直接從文件系統中訪問文件速度快
2.如果要修改GridFS上的文檔,只能先將已有文件刪除,然後再將整個文檔重新保存。
GridFS使用最簡單的方式是使用mongofiles工具,所有Mongo DB發行版中都包含了mongofiles這個工具,可以用它在GridFS中上傳文件、下載文件、查看文件列表、搜索文件、以及刪除文件。下面就為大家演示一下。
二、代碼演示。
2.1上傳一個文件
mongofiles -d foobar -l "E:\a.txt" put "a.txt"
2.2查看文件列表
db.fs.chunks.find() 和db.fs.files.find() 存儲了文件系統的所有文件信息
2.3查看所有文件
mongofiles -d foobar list
2.4刪除存在的文件
mongofiles -d foobar delete 'a.txt'
三、總結。
GridFS系統為我們再用MongoDB存儲很大的數據文件提供了一個很高效的系統