Existuje niekoľko spôsobov, ako vygenerovať UUID v Node.js, ale prečo uprednostňovať jeden pred druhým? Tu je dôvod.
Univerzálny jedinečný identifikátor (UUID) je 128-bitový znakový reťazec, ktorý môžete použiť na označenie a prístup k údajom. Pomocou Node.js môžete jednoducho vytvoriť UUID pomocou niekoľkých prístupov.
UUID sú silné na jedinečnú identifikáciu, pretože šanca, že narazíte na rovnaké ID, je veľmi malá. To tiež znamená, že môžete generovať UUID autonómne bez krížovej kontroly s centrálnou databázou. UUID sú vysoko škálovateľné.
Pomocou kryptomodulu
Vstavaný kryptografický modul v Node poskytuje metódu randomUUID() na generovanie UUID.
konšt krypto = vyžadovať("krypto")
konšt uuid = crypto.randomUUID()
Zabrániť randomUUID() z používania vyrovnávacej pamäte počas generovania UUID, nastavte vypnúť EntropyCache pravda, takto:
konšt uuid = crypto.randomUUID({ vypnúť EntropyCache: pravda })
Pomocou balíka uuid
Na rozdiel od krypto modulu, balík uuid je treťou stranou modul npm. Ak ho chcete nainštalovať, spustite nasledujúci príkaz.
npm install uuid
uuid vám umožňuje generovať rôzne verzie ID:
- Verzie 1 a 4 generujú jedinečné náhodne vygenerované ID.
- Verzie 3 a 5 generujú jedinečné ID z priestoru názvov a názvu.
Tento príklad ukazuje, ako môžete vygenerovať UUID verzie 4:
konšt {v4: uuidv4} = vyžadovať("uuid")
konšt id = uuidv4()
Pomocou Nano ID
Nano ID je tiež ďalší balík NPM používaný na generovanie UUID v Node. Aj keď funguje takmer rovnako ako balík uuid, existujú určité rozdiely:
- Nano ID obsahuje 36 symbolov namiesto 21.
- Nano ID je dvakrát rýchlejšie ako uuid.
- Nano ID je štyrikrát menšie ako uuid. Jeho identifikátory obsahujú 130 bajtov namiesto 483 bajtov.
Na vygenerovanie Nano ID použite nasledujúci kód:
konšt { nanoid } = vyžadovať("nanoid")
konšt id = nanoid()
Je Nano ID lepšie ako uuid?
Na generovanie UUID v Node môžete použiť najmenej tri spôsoby: vstavaný kryptografický modul a balíky tretích strán uuid a Nano ID. Ak chcete použiť externý balík, zvážte Nano ID. Je menší a oveľa rýchlejší ako uuid.