在浏览器中本地生成 KSUID,无需把当前这一批标识符发送到其他服务。当你需要在分布式系统中保持较低冲突概率,同时又希望 ID 大致按创建时间排序,便于日志、时间线、导入数据或有序记录使用时,这个工具会很合适
为什么使用 KSUID
KSUID 会把 32 位时间戳和 128 位随机数据组合在一起,再编码成一个 27 位 Base62 字符串。这样得到的 ID 足够紧凑、对 URL 友好、便于存储,而内嵌时间戳也让较新的值通常会排在较旧的值后面
选择当前时间或自定义时间
生成日常使用的 ID 时可使用当前时间。自定义时间适合测试数据、历史数据补录或迁移样例,让 ID 的时间戳对应指定时刻
导出前需要知道的事
KSUID 只保留秒级精度,因此任何毫秒输入都会向下取整到该秒的起点。同一秒内生成的 ID 仍然具有唯一性,但它们最终的前后顺序还会受到随机载荷影响,所以更适合把 KSUID 理解为“可按时间排序”,而不是“严格连续递增”