unid - PHP的唯一ID生成


GPL
跨平台
C/C++

软件简介

unid 是一个可以生成唯一ID的php扩展,此扩展基于 Twitter Snowflake 算法。有兴趣可以了解一下这个算法:
https://github.com/twitter/snowflake

功能列表:

// 1) Get the next unique ID.
string unid_next_id(void);

// 2) Change unique ID to time stamp.
int unid_get_time(string id);

// 3) Change unique ID to worker id.
array unid_get_worker_id(string id);

示例:

<?php
$id = unid_next_id();
echo $id;

$time = unid_get_time($id);
echo 'date time is: ' . date('Y-m-d H:i:s', $time);

$worker_id = unid_get_worker_id();
echo 'worker id is: ' . $worker_id;
?>

安装:

$  cd ./unid
$  phpize
$  ./configure
$  make
$  sudo make install

php.ini 配置项:

[unid]
unid.datacenter = int
unid.twepoch = uint64