雪花算法
功能介绍
生成唯一编号
相关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)
* }
*/