MongoDB学习
1. MongoDB在32位操作系统上,单个数据库不能超过2GB。
会有16M、32M、64M、128M、256M、512M、512M这几个数据库文件。再多了就不行了。最大1536MB。
2. MongoDB拥有地理位置索引,很好的支持LBS功能。
3. 传言MongoDB对内存的占用比较大,数据都是先到内存,再到磁盘。
对于MongoDB的选用,毕竟是新技术,保守还是使用MySQL,MongoDB的适用场合:
1. 数据对象的形态经常发生变化,常有增减字段的可能,此时可以利用mongo schema-free特性.也就是MongoDB集合中的文档,是可以没有表结构的,每个集合的各个文档之间,结构可以完全不同。
2. 需要按地理位置进行查询时,此时用mongo geo index(这是个特色!)
另外根据大牛的经验,MongoDB的全局锁的并发性能,没有想象中的那么糟糕。
MongoDB PHP客户端 代码示例:
1. 设置一个自动增长的ID列 db->info
1 function getMID() 2 { 3 $db=new MongoDB(); 4 $command=array( 5 'findandmodify'=>'info',//集合名字 6 'update'=>array('$inc'=>array("maxid"=>1)),//字段值加1 7 'query'=>array('name'=>'fish_place_list'),//字段名字 8 'new' => true, 9 'upsert' => true 10 ); 11 $id=$db->command($command); 12 $id=$id['value']['maxid']; 13 if (!$id){ 14 return "MongoError"; 15 } 16 }
成功,只青睐行动和事实,而非口舌之快者。