MongoDB的findAndModify命令应用

标签: PHP   MongoDB   自增序列   任务队列  

MongoDB的findAndModify命令可以从数据库查找返回一个文档的同时更新/插入/删除文档,原子操作,线程安全,功能强大,原型复杂……
当然这也是没办法的事情,毕竟要应对各种奇怪的需求……

比较常见的应用有「自增序列」和「任务队列」。

Alvan 发布于 2015-01-05 22:29

全文 »

PHP生成类MongoId的分布式主键

标签: PHP   MongoDB   主键  

今天写了个简单的PHP函数,用来生成按时间增长的全局唯一主键。这类主键的作用主要是在分布式环境中保证每条数据能够有一个唯一标识,同时又有一定的自增长性以提高索引效率。当然也可以用来掩人耳目,毕竟一个简单的int类型的自增ID的话,很容易让人猜到你的数据量有多少了。

分布式环境下数据主键的生成方法其实是蛮多的,比如使用Mysql之类的自增ID,只需要设置好自增步长和起始值就可以满足基本要求了,还有如目前流行的文档型数据库MongoDB就提供了一个MongoId的实现,可以在客户端直接生成长度为24的自增长型全局字符串主键。今天写的这个PHP函数就是参考MongoId的算法实现的,不需要安装MongoDB扩展也可以使用。

Alvan 发布于 2014-03-28 17:00

全文 »