这是基于vue-vben-admin 模板适用于abp Vnext的前端管理项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
feijie 9e6049e183 feat(docs): 添加IdGenerator模块文档 1 year ago
..
LINGYUN/Abp/IdGenerator upgrade abp framework to 8.2.0 1 year ago
FodyWeavers.xml upgrade(abp): upgrade abp framework to 7.4.0 2 years ago
FodyWeavers.xsd upgrade(abp): upgrade abp framework to 7.4.0 2 years ago
LINGYUN.Abp.IdGenerator.csproj upgrade abp framework to 8.2.0 1 year ago
README.EN.md feat(docs): 添加IdGenerator模块文档 1 year ago
README.md feat(docs): 添加IdGenerator模块文档 1 year ago

README.md

LINGYUN.Abp.IdGenerator

介绍

LINGYUN.Abp.IdGenerator 是一个分布式ID生成器模块,主要实现了雪花算法(Snowflake)来生成分布式唯一ID。

功能

  • 雪花算法ID生成器 (SnowflakeIdGenerator)
    • 支持自定义工作机器ID和数据中心ID
    • 支持自定义序列号位数
    • 支持时间回退处理
    • 提供分布式环境下的唯一ID生成

配置项

SnowflakeIdOptions

  • WorkerIdBits (默认: 5) - 工作机器ID位数
  • DatacenterIdBits (默认: 5) - 数据中心ID位数
  • Sequence (默认: 0) - 序列号起始值
  • SequenceBits (默认: 12) - 序列号位数
  • UsePreviousInTimeRollback (默认: true) - 是否在时间回退时使用上一个时间戳
  • WorkerId - 工作机器ID,如未指定则从环境变量WORKERID获取或随机生成
  • DatacenterId - 数据中心ID,如未指定则从环境变量DATACENTERID获取或随机生成

安装

dotnet add package LINGYUN.Abp.IdGenerator

使用

  1. 添加 [DependsOn(typeof(AbpIdGeneratorModule))] 到你的模块类上。
[DependsOn(typeof(AbpIdGeneratorModule))]
public class YourModule : AbpModule
{
    public override void ConfigureServices(ServiceConfigurationContext context)
    {
        Configure<SnowflakeIdOptions>(options =>
        {
            options.WorkerId = 1;
            options.DatacenterId = 1;
        });
    }
}
  1. 注入并使用ID生成器:
public class YourService
{
    private readonly IDistributedIdGenerator _idGenerator;

    public YourService(IDistributedIdGenerator idGenerator)
    {
        _idGenerator = idGenerator;
    }

    public long CreateId()
    {
        return _idGenerator.Create();
    }
}

链接