php_snowflake分布式id生成算法
推特分布式id生成算法,在多线程环境最小颗粒度能到线程。
要求:PHP >= 5.6
描述:
NTS
0 2 15 20 28 32 ---+----------------+--------------+----+----------+ 00 |timestamp(ms) | service_no |pid | sequence | ---+----------------+--------------+----+----------+
TS
0 2 15 20 28 32 ---+----------------+--------------+----+----------+ 00 |timestamp(ms) | service_no |tid | sequence | ---+----------------+--------------+----+----------+
安装:
phpize ./configure --with-php-config=/you/phppath/php-config make make install
示例:
$service_no = 999;
for ($i=0; $i < 10; $i++) {
echo PhpSnowFlake::nextId($service_no)."\n";
}
/*
00146523488416500999000634280001
00146523488416500999000634280002
00146523488416500999000634280003
00146523488416500999000634280004
00146523488416500999000634280005
00146523488416600999000634280001
00146523488416600999000634280002
00146523488416600999000634280003
00146523488416600999000634280004
00146523488416600999000634280005
*/评论
