闲谈MongoDb+GridFS+Nginx

阅读更多
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 = [...]

你可能感兴趣的:(MongoDB,nginx,PHP)