FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

MoonCodexs/SnowflakeSwift: Snowflake, use Swift. Generate unique incremental ID 基于`Swift`的雪花算法的实现,采用传统算法,生成递增的唯一ID · GitHub

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SnowflakeSwift

Snowflake, use Swift. Generate unique incremental ID

基于Swift的雪花算法的实现,采用传统算法,生成递增的唯一ID。如果遇到时钟回拨,生成的为nil,让业务层面处理即可。

雪花算法是twitter开源的用于分布式环境下生成唯一ID的算法,原始版本snowflake使用Scala开源,基于时间戳递增的属性。作为数据库的主键比UUID有着更快的读写。各个变量长度可以根据业务进行改进,该库是基于最原生的实现。

使用

将SnowflakeSwift.swift文件拖入项目即可

//创建
let general = SnowflakeSwift(IDCID: 4, machineID: 30)
//生成唯一ID
let id = general.nextID()

通过id也可以得出生成的时间、机房ID、机器ID

let time = general.time(id: id)
let idcID = general.IDC(id: id)
let machineID = general.machine(id: id)

About

Snowflake, use Swift. Generate unique incremental ID 基于`Swift`的雪花算法的实现,采用传统算法,生成递增的唯一ID

Topics

Resources

Stars

9 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages


Back | FazBrowse Home | New Git URL