14

Node.jsとRedisデータベースを使用しています。Redisは初めてです。

ノードにhttps://github.com/mranney/node_redisドライバーを使用しています。

初期化コード-

var redis = require("redis"),
client = redis.createClient();

いくつかのキーと値のペアを設定してみました-

client.hset("users:123" ,"name", "Jack");

Nodeを介してRedisからnameパラメーターを取得できることを知りたいです。

私は試した

var name = client.hget("users:123", "name");  //returns 'true'

ただし、出力として「true」を返すだけです。値が欲しい(つまり-ジャック)使用する必要のあるステートメントは何ですか?

4

2 に答える 2

24

これはあなたがそれを行うべき方法です:

client.hset("users:123", "name", "Jack");
// returns the complete hash
client.hgetall("users:123", function (err, obj) {
   console.dir(obj);
});

// OR

// just returns the name of the hash
client.hget("users:123", "name", function (err, obj) {
   console.dir(obj);
});

また、JavaScript のコールバックとクロージャーの概念、および node.js の非同期の性質を理解していることを確認してください。ご覧のとおり、関数 (コールバックまたはクロージャー) を に渡しますhget。この関数は、redis クライアントがサーバーから結果を取得するとすぐに呼び出されます。エラーが発生した場合、最初の引数はエラー オブジェクトになります。それ以外の場合、最初の引数は null になります。2 番目の引数は結果を保持します。

于 2012-05-14T14:06:34.080 に答える
0

私は答えを見つけました-

値を取得するには、コールバック関数が必要です。

client.hget("users:123", "name", function (err, reply) {

    console.log(reply.toString());

    });
于 2012-05-14T14:03:17.833 に答える