jakyeru / snowflake
Snowflake 是一个 Laravel 包,允许将 Twitter 的 64 位雪花 ID 作为模型的主标识符。
v1.0.3
2023-05-13 06:51 UTC
Requires
- php: >=8.0
- godruoyi/php-snowflake: >=2.1.1
- illuminate/support: >=8.0
Requires (Dev)
- orchestra/testbench: 8.0.x-dev
README
关于 snowflake
Snowflake 是一个 Laravel 包,允许使用 Twitter 的 64 位雪花 ID 作为模型的主标识符。
相对于其他标识符的优点
- 键以时间戳开头
- 键以随机数结尾,因此无法猜测表的大小
- 键完全由整数组成,比字符串处理更高效
- 键生成更快(<1ms)
- 标准 UUID v4 - 5.6 毫秒
- 可排序 UUID v4 - 8.3 毫秒
- ULID - 3.1 毫秒
- Snowflake - 0.4 毫秒
安装
composer require jakyeru/snowflake
使用
resolve('snowflake')->id(); // ---> 112871594573041664
与 Eloquent 模型一起使用
<?php namespace App\Models; use Illuminate\Foundation\Auth\User as Authenticatable; use Jakyeru\Snowflake\Traits\HasSnowflakes; class User extends Authenticatable { use HasSnowflakes; }
发布配置
php artisan vendor:publish --tag=snowflake-config
贡献
感谢您考虑为 Snowflake 贡献!您可以在这里阅读贡献指南。
行为准则
为了确保社区对所有成员都是开放的,请查阅并遵守行为准则。
安全漏洞
如果您需要报告安全漏洞,请阅读我们的安全策略。
许可证
snowflake 是开源软件,在MIT 许可下发布。
如果您遇到任何其他错误,请在 GitHub 上创建一个问题。