Ir vairāki veidi, kā ģenerēt UUID pakalpojumā Node.js, taču kāpēc izvēlēties vienu, nevis otru? Lūk, kāpēc.
Universāli unikālais identifikators (UUID) ir 128 bitu rakstzīmju virkne, ko varat izmantot, lai marķētu un piekļūtu datiem. Izmantojot Node.js, varat viegli izveidot UUID, izmantojot vairākas pieejas.
UUID ir jaudīgi unikālai identifikācijai, jo iespēja sastapties ar vienu un to pašu ID ir ļoti maza. Tas arī nozīmē, ka varat ģenerēt UUID autonomi, neveicot salīdzinājumu ar centrālo datu bāzi. UUID ir ļoti mērogojami.
Izmantojot kriptogrāfijas moduli
Iebūvētais kriptogrāfijas modulis in Node nodrošina randomUUID() metodi UUID ģenerēšanai.
konst kriptovalūta = pieprasīt("kripto")
konst uuid = crypto.randomUUID()
Lai novērstu nejaušsUUID() no kešatmiņas izmantošanas UUID ģenerēšanas laikā, iestatiet atspējot EntropyCache patiesi, šādi:
konst uuid = crypto.randomUUID({ atspējot EntropyCache: taisnība })
Uuid pakotnes izmantošana
Atšķirībā no kriptogrāfijas moduļa, uuid pakete ir trešā puse npm modulis. Lai to instalētu, palaidiet šādu komandu.
npm instalēt uuid
uuid ļauj ģenerēt dažādas ID versijas:
- 1. un 4. versija ģenerē unikālu ID, kas tiek ģenerēts nejauši.
- 3. un 5. versija ģenerē unikālu ID no nosaukumvietas un nosaukuma.
Šis piemērs parāda, kā varat ģenerēt 4. versijas UUID:
konst {v4: uuidv4} = pieprasīt("uuid")
konst id = uuidv4()
Izmantojot Nano ID
Nano ID ir arī vēl viena NPM pakotne, ko izmanto UUID ģenerēšanai mezglā. Lai gan tas darbojas gandrīz tāpat kā uuid pakotne, ir dažas atšķirības:
- Nano ID satur 36 simbolus 21 vietā.
- Nano ID ir divas reizes ātrāks nekā uuid.
- Nano ID ir četras reizes mazāks nekā uuid. Tā identifikatoros ir 130 baiti, nevis 483 baiti.
Izmantojiet šo kodu, lai ģenerētu nano ID:
konst { nanoid } = pieprasīt("nanoīds")
konst id = nanoīds ()
Vai Nano ID ir labāks par uuid?
Ir vismaz trīs metodes, kuras varat izmantot, lai ģenerētu UUID pakalpojumā Node: iebūvētais šifrēšanas modulis un uuid un Nano ID trešās puses pakotnes. Ja vēlaties izmantot ārēju pakotni, apsveriet iespēju izmantot Nano ID. Tas ir mazāks un daudz ātrāks nekā uuid.