MongoDB 的 GridFS 详细分析

WBOY
Freigeben: 2016-08-08 09:22:31
Original
916 Leute haben es durchsucht
GridFS简介GridFSMongoDB中的一个内置功能,可以用于存放大量小文件。http://www.mongodb.org/display/DOCS/GridFShttp://www.mongodb.org/display/DOCS/GridFS+Specification
GridFS使用MongoDB提供了一个命令行工具mongofiles可以来处理GridFS,在bin目录下。列出所有文件:mongofiles list上传一个文件:mongofiles put xxx.txt下载一个文件:mongofiles get xxx.txt查找文件:mongofiles search xxx    //会查找所有文件名中包含“xxx”的文件mongofiles list xxx //会查找所有文件名以“xxx”为前缀的文件参数说明:–d 指定数据库 ,默认是fsMongofiles list –d testGridfs-u –p 指定用户名,密码-h  指定主机-port 指定主机端口-c 指定集合名,默认是fs-t 指定文件的MIME类型,默认会忽略使用MongoVUE来查看,管理GridFSMongoVUE地址:http://www.mongovue.com/MongoVUE是个免费软件,但超过15天后功能受限。可以通过删除以下注册表项来解除限制:[HKEY_CURRENT_USER\Software\Classes\CLSID\{B1159E65-821C3-21C5-CE21-34A484D54444}\4FF78130]把这个项下的值全删掉就可以了。
nginx-gridfs模块的安装使用项目主页:https://github.com/mdirolf/nginx-gridfs通过nginx-gridfs,可以直接用http来访问GridFS中的文件。1. 安装安装各种依赖包:zlibpcreopensslubuntu下可能是以下命令:sudo apt-get install zlib1g-dev            //貌似sudo apt-get install zlib-dev 不能安装sudo apt-get install libpcre3 libpcre3-devsudo apt-get install openssl libssl-dev安装git(略)git下载nginx-gridfs的代码:git clone git://github.com/mdirolf/nginx-gridfs.git    cd nginx-gridfs    git submodule init    git submodule update
下载nginxwget http://nginx.org/download/nginx-1.0.12.ziptar zxvf nginx-1.0.12.zipcd nginx-1.0.12 ./configure --add-module=的路径>makesudo make install如果编译出错,则在configure时加上--with-cc-opt=-Wno-error 参数。
2. 配置nginxserver的配置中加上以下   location /pics/ {                gridfs pics                field=filename                type=string;                mongo 127.0.0.1:27017;        }上面的配置表示:数据库是pics,通过文件名filename来访问文件,filename的类型是string目前只支持通过idfilename来访问文件。启动nginx/usr/local/nginx/sbin/nginxMongoVUE把一个图片001.jpg上传到pics数据库中。打开:http://localhost/pics/001.jpg如果成功,则可以看到显示图片了。
注意事项1. GridFS不自动处理md5相同的文件,对于md5相同的文件,如果想在GridFS中只有一个存储,要用户自已处理。Md5值的计算由客户端完成。2. 因为GridFS在上传文件过程中是先把文件数据保存到fs.chunks,最后再把文件信息保存到fs.files中,所以如果在上传文件过程中失败,有可能在fs.chunks中出现垃圾数据。这些垃圾数据可以定期清理掉。

以上就介绍了MongoDB 的 GridFS 详细分析,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!