《MongodbGridfs简介.ppt》由会员分享,可在线阅读,更多相关《MongodbGridfs简介.ppt(11页珍藏版)》请在三一办公上搜索。
1、,GridFS 简介,Author:xwsoul,神马是 GridFS?,MongoDB 大型对象存储格式.将大型对象切割成小块(chunks,通常是256K)来存储.每块都是一个独立文档,存储于块集合(chuck collection)里.文件的元数据包括文件名,类型以及任何开发者需要的可选信息作为一个文档存储于文件集合(files collection)里.,到底神马是 GridFS?,由一条文件集合(files collection)文档 和 由文件分割成的一条或多条块集合(chunks collection)文档组合的文档集合.更晕了.囧,GridFS 适用于哪些情况?,大量的文件:G
2、ridFS往往处理大量的文件比许多文件系统更好(成千上万).用户上传的文件:当用户上传文件,你往往有很多文件,并希望他们复制和备份,乃至建立分发系统.经常改变的文件:像数据库一样的操作比直接维护文件系统来的简单,同样可以利用性来实现文件的同步.小道消息:国内某视频网站使用的就是Mongo 的 GridFS 架构存储视频文件.,GridFS 不适用的情况,一些小的站点静态文件,比如 js,css,网站图片,那么似乎也许大概可能直接使用文件系统比较好.,命令行下操作 GridFS,将文件写入MongoDB,/bin/mongofiles put demo.jpg,/bin/mongofiles l
3、ist,获取文件列表,/bin/mongofiles get demo.jpg,读出文件,PHP 操作GridFS(一),初始化GridFS对象:,$grid=$db-getGridFS();,存入一个文件:,$id=$grid-put($filename,array(downloads=0);/$grid-storeFile();/$grid-storeUpload();,PHP 操作GridFS(二),获取一个文件:,$file=$grid-get(new MongoId(x);,输出一个文件:,header(Content-Type:xxx/xxx);echo$file-getBytes();,Http 服务器的支持,Nginx:nginx-gridfs 模块支持 效率:,Mongo 的更多特性,Sharding:数据集分片 Map/Reduce:映射简化 Atomic Operations:原子操作,感谢观看!,