くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

JSでランダムな文字列を生成する3つのライブラリ(Nano ID/uuid4/shortid)

ユニークIDなどのためにランダムな文字を生成したいなと思ったら、
いろいろライブラリがあったので、調べたときの備忘録

調べたのは、以下の3つ

  1. Nano ID
  2. uuid4
  3. shortid

Nano ID

セキュエアでURLフレンドリーな文字でユニークIDを生成してくれるライブラリ

var nanoid = require('nanoid')
model.id = nanoid() //=> "V1StGXR8_Z5jdHi6B-myT"

uuid4

UUID v4を生成してくれるライブラリ

var uuid4 = require('uuid4');

var id = uuid4(); //=> "c07505a1-d20a-457d-acb0-cb9380722e95"

shortid

URLフレンドリーな文字で短いユニークIDを生成してくれるライブラリ

使い方はこんな感じ

const shortid = require('shortid');

shortid.generate(); //=> "dBvJIh-H"

ベンチマーク

Nano IDのREADMEにベンチマークが。
nanoidが1秒間にたくさん生成できるらしい

nanoid                    693,132 ops/sec
nanoid/generate           624,291 ops/sec
uuid/v4                   471,299 ops/sec
shortid                    66,809 ops/sec

以上!!

参考にしたサイト様