0
点赞
收藏
分享

微信扫一扫

雪花算法(Snowflake Algorithm)C# 实现版本

RIOChing 2024-11-06 阅读 3
算法c#

这里采用10位的工作ID,当时间回拔时,采用工作ID增加1来避免生成与旧的ID重复。

雪花算法的结构

雪花算法生成的ID是一个64位的Long型数字,结构如下:

  • 高41位:时间戳(timestamp)
  • 中间10位:工作节点ID(workerId),用来避免时间回拔。
  • 低12位:序列号(sequence)

时间戳(timestamp)

时间戳是雪花算法的核心部分,用于记录生成ID的时间。时间戳是一个41位的数字,精度为毫秒级别。它的计算方式是:

timestamp = (当前时间 - 起始时间)

Twepoch = 1704067200000L;//2024-01-01 00:00:00

整个代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WindowsFormsApp_snowflake
{
public class Sn
举报

相关推荐

0 条评论