ULID-Generator

Genereres i din browser, sendes aldrig til en server.

Hvad er ULID-Generator

En ULID (Universally Unique Lexicographically Sortable Identifier) er et 128-bit ID skrevet som 26 tegn i Crockfords Base32. De første 10 tegn koder et tidsstempel i millisekunder, og de sidste 16 er tilfældige, så ULID'er sorteres i oprettelsesrækkefølge som ren tekst og forbliver samtidig globalt unikke. Denne generator laver dem helt i din browser med Web Crypto API, uden nogen server.

Sådan bruger du det

  1. Vælg i menuen Antal, hvor mange ULID'er der skal genereres.
  2. Klik på Generér, eller skift antallet, for at lave et nyt sæt.
  3. Sæt flueben ved Monoton for at holde ID'er lavet i samme millisekund i streng rækkefølge.
  4. Klik på Kopiér ved siden af en ULID, eller på Kopiér alle for hele listen.

Hvornår du bør bruge det

Har du brug for databasenøgler, der sorteres efter oprettelsestid uden en separat tidsstempelkolonne? Generér et sæt ULID'er og brug dem som primærnøgler: da tidsstemplet ligger i de første 10 tegn, returnerer et simpelt ORDER BY på id'et rækkerne fra ældst til nyest. Nyttigt til hændelseslogs, besked-ID'er og alle steder, hvor du ellers ville tage en UUID, men også vil have naturlig rækkefølge.

Ofte stillede spørgsmål

Hvordan adskiller en ULID sig fra en UUID?

Begge er unikke 128-bit identifikatorer, men en ULID er Base32 (26 tegn, ufølsom over for store og små bogstaver, URL-sikker), og de første bit er et tidsstempel, så ULID'er sorteres kronologisk som tekst. En UUID v4 er helt tilfældig og har ingen brugbar rækkefølge.

Hvad betyder monoton her?

Når flere ULID'er laves i samme millisekund, øger monoton tilstand den tilfældige del i stedet for at trække den på ny, så hvert nyt ID er strengt større end det forrige. Lad den være slået fra, hvis du bare vil have uafhængige tilfældige ID'er.

Bliver disse ULID'er sendt til en server?

Nej. Hver ULID genereres lokalt i din browser med Web Crypto API. Intet uploades, logges eller sendes.

Kan jeg bruge ULID'er som primærnøgler?

Ja. De passer i enhver tekst- eller 16-byte binærkolonne og understøttes af biblioteker til PostgreSQL, MySQL, MongoDB og de fleste sprog. Deres tidsrækkefølge reducerer også indeksfragmentering sammenlignet med tilfældige UUID'er.

Relaterede værktøjer