|
|
před 6 dny | |
|---|---|---|
| .. | ||
| src | před 6 dny | |
| .gitignore | před 6 dny | |
| LICENSE | před 6 dny | |
| README.md | před 6 dny | |
| composer.json | před 6 dny | |
Twitter雪花算法snowflake的PHP实现,解决并发可能造成id重复的问题
1bit正负标识位 - 41bits毫秒级时间戳 - 5bits数据中心id - 5bits机器id -12bits毫秒内顺序id
composer require wantp/snowflake
require_once 'vendor/autoload.php';
$IdWorker = \wantp\Snowflake\IdWorker::getIns();
$id = $IdWorker->id();
$idInfo = $IdWorker->parse($id);
$dataCenterId = 2;
$machineId = 5;
$IdWorker = \wantp\Snowflake\IdWorker::getIns($dataCenterId,$machineId);
$id = $IdWorker->id();
| key | 是否必填 | 说明 |
|:----:|:---:|:---:|
|host|是|redis主机|
|port|是|redis端口|
|dbIndex|否|redis db index|
|auth|否|redis认证|
$resdisConfig = ['host'=>'redis host','port'=>'redis port','dbIndex'=>'redis dbIndex',auth'=>'redis auth'];
$IdWorker = \wantp\Snowflake\IdWorker::getIns()->setRedisConutServer($resdisConfig);
$id = $IdWorker->id();