node-redis使ってみた

Redisとは、キーバリューモデルのNoSQLで使えるDBです。
memcachedとは違い、メモリから定期的にディスクに書き出しを行うので、DBのデータを永続化できる事が特徴です。

ちなみにRedisの書き込み形式は下記のようなものがあります。

String型 1つのKeyに対して、1つに定まる文字列や数値。
List型 1つのKeyに対して、順番を持った複数の値の集合。
Set型 1つのKeyに対して、順不同の複数の値の集合。Listと違い値の重複を許さない。
Sorted Set型 スコアを持てるようになったSet型。スコア順に取り出したりできる。
Hash型 1つのKeyに対して、fieldを複数定義でき、filedの中にvalueをセットする値の集合。

 

今回、Node.jsからHash型のRedisを操作する機会がありました。
Node.jsで、逐次送り付けられるコマ撮り画像を保存し、そのURLを返却する、という要件です(ざっくりで済みません)。

その際に使ったnode-redisの知見を残します。
下記は、画像URLの保存と、画像URLの出力を想定したサンプルになります。

1. Redisの読み込み

 

2. Redisに値をセット

 

3. Redisから値を取得

 

4. Redisに何件Keyが入っているか取得

 

要件として、1秒に10回保存、状態によっては1秒に10回出力する必要があったのですが、この何の捻りのない方法でも、テスト用の一番安いEC2サーバーで要件を達成できました。

Redis素晴らしい…。

●この記事を書いた人