備忘録的なブログエントリです。
高速なメモリストアである Redis を Node.js から使う場合に多く利用されるライブラリの代表が node-redis です:
自分もこれまでに開発した多くのアプリの中で Redis を利用し、Node.js で実装していた場合はほぼ全てで node-redis を使っていました。いわゆる Key-Value 型のデータベースで、高速なデータストア用途だけでなく、ログインセッションの共有保管場所としても使っていました。
これまで使ってきた中でこのような用途がなかったからではあるのですが、今回「登録されている全てのデータのキー」を取得したい、ということがあり、すぐにわからなかったので調べてみました。要は全データを取り出したいのですが、そのためには全キーが必要で、その取得方法を知りたかったのでした。本ブログエントリはその調査結果でもあります。
結論としては RedisClient の keys() というメソッドを使うことで全キーを取得できます。以下サンプルです:
keys() メソッドを '*'(全て)というパラメータを付けて実行することで全てのキーを取得することができます。
redis CLI でも、
のように実行してキー一覧を取得できることは知っていたのですが、node-redis ライブラリで取得する場合の方法を調べるのに手間取ったこともあって、自分でまとめておきました。
高速なメモリストアである Redis を Node.js から使う場合に多く利用されるライブラリの代表が node-redis です:
自分もこれまでに開発した多くのアプリの中で Redis を利用し、Node.js で実装していた場合はほぼ全てで node-redis を使っていました。いわゆる Key-Value 型のデータベースで、高速なデータストア用途だけでなく、ログインセッションの共有保管場所としても使っていました。
これまで使ってきた中でこのような用途がなかったからではあるのですが、今回「登録されている全てのデータのキー」を取得したい、ということがあり、すぐにわからなかったので調べてみました。要は全データを取り出したいのですが、そのためには全キーが必要で、その取得方法を知りたかったのでした。本ブログエントリはその調査結果でもあります。
結論としては RedisClient の keys() というメソッドを使うことで全キーを取得できます。以下サンプルです:
var redis = require( 'redis' ); var redisClient = redis.createClient( "redis://localhost:6379", {} ); redisClient.keys( '*', function( err, results ){ if( err ){ }else{ : (results に全キーが配列で格納されている) : } });
keys() メソッドを '*'(全て)というパラメータを付けて実行することで全てのキーを取得することができます。
redis CLI でも、
> keys *
のように実行してキー一覧を取得できることは知っていたのですが、node-redis ライブラリで取得する場合の方法を調べるのに手間取ったこともあって、自分でまとめておきました。