node.jsのいろいろなモジュール37 – puidでUUIDの生成

2013.06.03

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

UUIDを生成する

今回紹介するpuidは、ユニークなIDを生成してくれるライブラリです。12桁、14桁、24桁のIDを生成することが可能です。
マシンやプロセスID、時間を種値として使用し、固有のIDを生成してくれます。

生成されるIDは4つのセクションになっています。 例えば、「he5fps6l2504cd1w3ag8ut8e」(he5fps6l-2504cd-1w3a-g8ut8e)というIDが生成されたとすると、
IDは次のような区分で生成されたことになります。

  • タイムスタンプ: 'he5fps6l'
  • マシンのID(ホスト名/NWインターフェイスの最初6文字をMD5化したもの): '2504cd'
  • プロセスID: '1w3a'
  • ナノ秒カウンタ: 'g8ut8e'

環境構築方法

今回使用した動作環境は以下のとおりです。

  • OS : MacOS X 10.7.5
  • Node.js : v0.10.8
  • npm : 1.2.23

npmを使用してpuidモジュールをインストールしましょう。

% mkdir puid-sample
% cd puid-sample
% npm init //入力は全部デフォルトでいいです
% npm install puid --save

サンプルプログラム作成

puidではいろいろな方法でUUIDを生成できます。
最も簡単なのは、Puidオブジェクトを引数なしでインスタンス化して使う方法です。24桁のUUIDが生成されます。

var Puid = require('puid');
var puid;

//24桁のUUIDを生成
puid = new Puid();
console.log(puid.generate());

また、Puidに引数を渡すことで、nodeIDを指定することができます。
下記の場合、14桁のUUIDが生成されます。(下2桁は指定したnodeID)

// 14桁のUUID生成(nodeId文字列指定)
puid = new Puid('JS');
console.log(puid.generate());

まとめ

DBにレコードを登録する際のユニークIDを生成するとき等、簡単につかえて便利ですね。

参考サイトなど