2012-01-24 25 views
21

私はJSON(< 1k)をnode.js経由でRedisに格納しました。それをオブジェクトや文字列として保存する際の賛否両論は何ですか?私が逃したオプションはありますか?すべての処理は最終的にクライアント側で行われるため、オブジェクトに変換する必要はありません。JSONをレディスに保存するにはどうすればよいですか?

SET

var images = JSON.parse(data);   // data is already JSON, is this needed? 
callback(images);      // sends result to the user 
r.set('images:' + req.query, images); // saving the object 

はあなたがどちらかのプレーンな専用キーの文字列(またはセット/リストのメンバー/値)としてのRedisでJSONを保存することができます

callback(images); 

答えて

32

を取得したり、 hash構造内に存在する。 node_redisのドキュメントをに見てみると、フレンドリーなハッシュコマンドには、JSONベースのデータを操作するための便利なメソッドがいくつかあります。この方法の利点は、元のオブジェクトの一部のみを取得/設定できることと、平文の文字列に比べてconsume less memoryがある可能性があることです。

+0

ありがとうございます!ハッシュ構造の欠点のように見えるのは、オリジナルを再構成するために各フィールドを繰り返し処理する必要があるため、検索がはるかに遅いということです。 – tofutim

+1

HGETALLコマンドでハッシュ全体を取り出すことができますが、時間の複雑さはO(n)ですが、パフォーマンスは大量のフィールド/値ペアでのみ目に見えるようになります。 – yojimbo87

+1

仲間のハッシュコマンドのリンクhttps://github.com/mranney/node_redis#friendlier-hash-commands – ravindrab

関連する問題