1 Star 0 Fork 1

imi 开发组 / imi-snowflake

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 2.64 KB
一键复制 编辑 原始数据 按行查看 历史
宇润 提交于 2020-04-20 17:16 . 更新文档

imi-snowflake

Latest Version Php Version Swoole Version IMI License

介绍

imi 框架的雪花算法生成组件

Composer

本项目可以使用composer安装,遵循psr-4自动加载规则,在你的 composer.json 中加入下面的内容:

{
    "require": {
        "imiphp/imi-snowflake": "~1.0"
    }
}

然后执行 composer update 安装。

使用

在项目 config/config.php 中配置:

[
    'components'    =>  [
        // 引入本组件
        'snowflake'    =>  'Imi\Snowflake',
    ],
]

配置

配置 @app.beans

[
    'Snowflake'   =>  [
        'list'  =>  [
            // 可定义多个配置名称
            'testBasic' =>  [
                // 'datacenterId'   => null, // 数据中心ID,未空时为0
                // 'workerId'       => null, // 工作进程ID,为空时取当前进程ID
                // 'startTimeStamp' => null, // 开始时间戳,单位:毫秒
                // 'redisPool'      => null, // Redis 连接池名称,为空取默认连接池
            ],
        ],
    ],
]

生成ID

$id = \Imi\Snowflake\SnowflakeUtil::id('testBasic');

解析ID

$array = \Imi\Snowflake\SnowflakeUtil::parseId('testBasic', $id);
var_dump($array);

处理结果格式:

array(4) {
  ["timestamp"]=>
  string(35) "10100100111111101010001000001110010"
  ["sequence"]=>
  string(12) "000000000000"
  ["workerid"]=>
  string(5) "00000"
  ["datacenter"]=>
  string(5) "00000"
}

免费技术支持

QQ群:17916227 点击加群,如有问题会有人解答和修复。

运行环境

版权信息

imi-snowflake 遵循 MIT 开源协议发布,并提供免费使用。

鸣谢

感谢 godruoyi/php-snowflake 为 imi-snowflake 提供算法驱动!

捐赠

开源不求盈利,多少都是心意,生活不易,随缘随缘……

PHP
1
https://gitee.com/imiphp/imi-snowflake.git
git@gitee.com:imiphp/imi-snowflake.git
imiphp
imi-snowflake
imi-snowflake
master

搜索帮助