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 */
评论