闲谈MongoDb+GridFS+Nginx MongoDBnginxPHP
程序员文章站
2024-03-15 12:06:17
...
MongoDb果然是个好东西. 我在最近的一个项目实践中, 实验性的用到了这个东西.
在测试中,对于GridFS相当满意. 首先, 和传统的MogileFS不同, gridfs可以和其它的meta数据部署在同一个
db中,默认的会为gridfs的collection分别创建fs.files和fs.chunks.
当存储一个文件时,可以附加存入任意的附加信息,因为这些信息实际上也是一个普通的collection.
这个特性给我们省了好多的事情. 以前,如果要存储一个附件,通常的做法是,在主数据库中存放文件的属性,并且记录
文件的path.当查询某个文件时,需要首先查询数据库,获得path,然后从存储系统中获得相应的文件.
在使用gridfs时,则非常简单, 我们可以直接将这些信息直接存储到文件中. 比如下面的PHP代码,存储上传的文件到gridfs:
public function store($file,$attrs=array()) {
if (!is_file($file)) {
throw new CZone_Core_Service_Exception("File:$file not exists");
}
$defaults = [...]