SCRU64 ID 提供由分布式节点生成的紧凑、按时间排序的唯一标识符。SCRU64 具有以下特点
import Darwin // import `setenv()`
import Scru64
// pass node ID through environment variable
setenv("SCRU64_NODE_SPEC", "42/8", 1)
// generate a new identifier object
let x = scru64Sync()
print(x) // e.g., "0u2r85hm2pt3"
print(x.num) // as a 64-bit unsigned integer
// generate a textual representation directly
print(scru64StringSync()) // e.g., "0u2r85hm2pt4"
有关详细信息,请参阅 SCRU64 规范。
SCRU64 的唯一性是领域特定的,即依赖于为每个生成器集中分配节点 ID。如果您需要去中心化的、全局唯一的按时间排序的标识符,请考虑 SCRU128。
要将此库作为依赖项添加到您的 Xcode 项目,请选择 文件 > 添加软件包 并输入软件包 URL:https://github.com/scru64/swift-scru64
要在 SwiftPM 项目中使用此库,请将以下行添加到您的 Package.swift 文件中的依赖项
.package(url: "https://github.com/scru64/swift-scru64", from: "<version>"),
并且,将 Scru64
作为目标的依赖项包含在内
.target(
name: "<target>",
dependencies: [.product(name: "Scru64", package: "swift-scru64")]
)
根据 Apache License, Version 2.0 获得许可。