MongoDB 的 GridFS 详细分析
Libérer: 2016-08-08 09:22:31
original
951 Les gens l'ont consulté
GridFS简介GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。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 指定数据库 ,默认是fs,Mongofiles 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. 安装安装各种依赖包:zlib,pcre,openssl在ubuntu下可能是以下命令: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
下载nginx:wget 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. 配置nginx在server的配置中加上以下 location /pics/ { gridfs pics field=filename type=string; mongo 127.0.0.1:27017; }上面的配置表示:数据库是pics,通过文件名filename来访问文件,filename的类型是string目前只支持通过id和filename来访问文件。启动nginx:/usr/local/nginx/sbin/nginx用MongoVUE把一个图片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教程有兴趣的朋友有所帮助。
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31