雪花算法
功能介紹
生成唯一編號
相關class位置
- SnowFlake
-
namespace
:EasySwoole\Utility\SnowFlake
-
核心對象方法
make
生成基于雪花算法的隨機編號
- mixed $dataCenterID 數據中心
- mixed $workerID 任務進程
static function make($dataCenterID = 0, $workerID = 0)
unmake
反向解析雪花算法生成的編號
- mixed $snowFlakeId 編號
static function unmake($snowFlakeId)
基本使用
<?php
/**
* Created by PhpStorm.
* User: root
* Date: 19-1-9
* Time: 上午10:10
*/
require './vendor/autoload.php';
$str = \EasySwoole\Utility\SnowFlake::make(1,1);//傳入數據中心id(0-31),任務進程id(0-31)
var_dump($str);
var_dump(\EasySwoole\Utility\SnowFlake::unmake($str));
/**
* 輸出結果:
* int(194470364728922112)
* object(stdClass)#3 (4) {
* ["timestamp"]=>
* int(1532127766018)
* ["dataCenterID"]=>
* int(1)
* ["workerID"]=>
* int(1)
* ["sequence"]=>
* int(0)
* }
*/