MongoDB-GRIDFS大文件系统
gridfs 是一种在mongodb中存储大二进制文件的机制,使用gridfs的原因:
1、存储巨大的文件(视频图片)。
2、利用GRIDFS可以简化需求。
3、GRIDFS 利用已经建立起来的复制以及分片机制,故障回复和拓展都很容易。
4、gridfs 可以避免用户上传文件的系统出问题。
5、不产生此片碎片。
简介:gridfs 使用两个表格来存储数据: files 包含元数据对象,chunks包含其他的一些相关的二进制块。
为了使多个grdifs 命名为一个单一的数据库 文件与块都有一个前缀,默认为fs,包含 fs.files 和 fs.chunks。 各种其他的第三方语言可以更改前缀。
使用简介: 目录中包含mongofile 文件 进入 bin
例如:
/usr/local/mongodb/mongofiles put '/home/timeless/桌面/2000多个域名' -u root -p
Enter password:
connected to: 127.0.0.1
added file: { _id: ObjectId('550d5ae73c11b4f50c88c99e'), filename: "/home/timeless/桌面/2000多个域名", chunkSize: , uploadDate: new Date(), md5: "025141eb3b856cb1d05f51c8b1fac3ec", length: }
done!
//登陆MONGO
>/usr/local/mongodb/mongo -uroot -p
MongoDB shell version: 2.6.
Enter password:
connecting to: test
> show collections
fs.chunks
fs.files
person
stocks
system.indexes> db.fs.files.find()
{ "_id" : ObjectId("550d5ae73c11b4f50c88c99e"), "filename" : "/home/timeless/桌面/2000多个域名", "chunkSize" : , "uploadDate" : ISODate("2015-03-21T11:49:59.982Z"), "md5" : "025141eb3b856cb1d05f51c8b1fac3ec", "length" : }
> db.fs.chunks.find()
{ "_id" : ObjectId("550d5ae7e67b9f05743cdc35"), "files_id" : ObjectId("550d5ae73c11b4f50c88c99e"), "n" : , "data" : BinData(,"d2hvaXMgcHJpdmFjeSBwcm90ZWN0aW9uIHNlcnZpY2UgYnkgdmFsdWUtZG9tYWluICAgIOazqOWGjOS6ugo=") }
>
列出现在的文件信息
timeless@timeless-HP-Pavilion-g4-Notebook-PC:~$ /usr/local/mongodb/mongofiles list -u root -p
Enter password:
connected to: 127.0.0.1
/home/timeless/桌面/2000多个域名
timeless@timeless-HP-Pavilion-g4-Notebook-PC:~$
下载当前文件
timeless@timeless-HP-Pavilion-g4-Notebook-PC:~$ /usr/local/mongodb/mongofiles get /home/timeless/桌面/2000多个域名 -u root -p
Enter password:
connected to: 127.0.0.1
done write to: /home/timeless/桌面/2000多个域名
删除指定文件
timeless@timeless-HP-Pavilion-g4-Notebook-PC:~$ /usr/local/mongodb/mongofiles delete /home/timeless/桌面/2000多个域名 -u root -p
Enter password:
connected to: 127.0.0.1
done!
timeless@timeless-HP-Pavilion-g4-Notebook-PC:~$
MongoDB-GRIDFS大文件系统的更多相关文章
- MongoDB GridFS 存储大文件
我们经常会遇到这样的场景:上传/下载文件. 有两种思路可以解决这个问题: (1)将文件存储在服务器的文件系统中: (2)将文件存储在数据库中. 如果我们选择(2),那么我们可以使用MongoDB Gr ...
- MongoDB GridFS——本质上是将一个文件分割为大小为256KB的chunks 每个chunk里会放md5标识 取文件的时候会将这些chunks合并为一个整体返回
MongoDB GridFS GridFS 用于存储和恢复那些超过16M(BSON文件限制)的文件(如:图片.音频.视频等). GridFS 也是文件存储的一种方式,但是它是存储在MonoDB的集合中 ...
- MongoDB GridFS最佳应用概述
<MongoDB GridFS最佳应用概述> 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs GridFS是MongoDB数据库之上的一个简单 ...
- MongoDB的学习和使用(MongoDB GridFS)
MongoDB GridFS GridFS 用于存储和恢复那些超过16M(BSON文件限制)的文件(如:图片.音频.视频等). GridFS 也是文件存储的一种方式,但是它是存储在MonoDB的集合中 ...
- MongoDb GridFS的使用
MongoDb GridFS 是MongoDB的文件存储方案,主要用于存储和恢复那些超过16M(BSON文件限制)的文件(如:图片.音频等),对大文件有着更好的性能. 要在C#中使用GridFS,首先 ...
- mongodb gridfs基本使用
Mongodb GridFS图片文件存储解决方案 之前解决方案是接收图片数据后,将图片直接存储到盘阵,然后通过Apache做服务器,将图片信息存储到数据库,并且存储一个Apache的访问路径. 目前需 ...
- CentOS6.3搭建Nginx代理访问MongoDB GridFS图片资源
PHP可以直接读取MongoDB GridFS中的图片并显示到页面中,但对PHP的压力就大了.偶然机会,了解到Nginx可以代理访问,实现过程如下: 1.工具准备 安装一些必要的编译工具及库,这里是直 ...
- HPUX 大文件系统扩容
1.比对出新增加的磁盘 ioscan -fnuC disk ioscan -m dsf ioscan -fnC disk ioscan -m dsf 2.创建物理卷 pvcrea ...
- MongoDB GridFS 存储文件
使用MongoDB的GridFS方式. CSDN: https://blog.csdn.net/qq_32657967/article/details/81534259官方文档: https://do ...
- Spring Boot使用MongoDB GridFS进行文件的操作
1. GridFS简介 GridFS 用于存储和恢复那些超过16M(BSON文件限制)的文件(如:图片.音频.视频等),但是它是存储在MonoDB的集合中. GridFS 会将文件对象分割成多个的ch ...
随机推荐
- Hierarchy Viewer显示视图性能指标
Hierarchy Viewer默认打开“Tree View”窗口无法显示显示Performance indicators: 但选中根视图再点击按钮“Obtain layout times for t ...
- 【转】C/C++ 内存对齐
[转自]http://wenku.baidu.com/view/8eaaa26925c52cc58bd6bed2.htmlC/C++内存对齐 一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都 ...
- php同时循环两个数组
<? $yurl=$row[yurl]; $yurl_name=$row[yurl_name]; $var=explode("|",$yurl); $var2=explode ...
- mongo 多条件 查询
var query1 = Query<BaseManagerForCompanyModel>.EQ(q => q.sGuidBaseCompany, sGuidBaseCompany ...
- [HTML5] Emmet
For example we want to generate the code like this: <a href="#tab1">Tab 1</a>& ...
- 通过扩展RandomAccessFile类使之具备Buffer改善I/O性能--转载
主体: 目前最流行的J2SDK版本是1.3系列.使用该版本的开发人员需文件随机存取,就得使用RandomAccessFile类.其I/O性能较之其它常用开发语言的同类性能差距甚远,严重影响程序的运行效 ...
- When does layoutSubviews get called?
转自:http://blog.logichigh.com/2011/03/16/when-does-layoutsubviews-get-called/ It’s important to optim ...
- JNI之本地线程进入c层
在JNI开发中有时候会遇到在c层创建小线程的情况.从本质来讲,java线程和c线程都是请求kerner获取的,只是一段执行序列.从这个角度看,线程并没有什么不同,java线程和c线程可以通用. 然而在 ...
- Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.AndrolibException: brut.common.BrutException: could not exec command
错误如下: Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.AndrolibEx ...
- ARM map(Program size)
1.Keil程式编译完之后,在List目录下会生成一个.map文件,里面包含各个存储块数据大小. Code:ARM 指令. RO(Read only)只读数据,如const int gu8test = ...