jakyeru/snowflake

Snowflake 是一个 Laravel 包,允许将 Twitter 的 64 位雪花 ID 作为模型的主标识符。

v1.0.3 2023-05-13 06:51 UTC

This package is auto-updated.

Last update: 2024-09-13 09:31:10 UTC


README

release

关于 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 上创建一个问题。