8

ユーザーのハッシュ/JSONデータをRedisに保存し、このようにユーザーデータをハッシュするユーザーにユーザーを追加したい。

たとえば、users = {};

ユーザーrahulがログインすると、次のusersようになります。

users = {
    rahul: {
        username: 'rahul',          
    }
}

そして、ユーザーnamitaがログインすると

users = {
    rahul: {
        username: 'rahul',

    },
    namita: {
        username: 'namita',

    }
}

Redis でこれを行うためのコードは何でしょうか?

キーを初期化してrahulusersを追加するにはどうすればよいですか?

このセット、hset などのうち、どの関数を使用する必要がありますか?

users['rahul']また、 Redis 経由でデータを取得するにはどうすればよいですか?

4

1 に答える 1

22

おそらく、単一のハッシュ/json を格納するための最も最適なソリューションは、ハッシュコマンドを使用することです。私もこの「ジレンマ」を抱えており、Redis で JSON のようなオブジェクトを持つユーザーを含むデータ構造に関していくつかの 質問があります。

編集

node_redisモジュールを使用します。これはプロによって積極的に維持されており、おそらく最も使用されている Redis 用の node.js ドライバーです。最初に、SADDコマンドを使用して新しい JSON オブジェクト名をセットに追加し、「ユーザー」に含まれるアイテムを追跡する必要があります。次に、HMSETを使用して、"user:rahul" オブジェクトのキーと値のハッシュを格納します。例:

// add first user
client.sadd("users", "user:rahul");
client.hmset("user:rahul", "username", "rahul", "foo", "bar");

// add second user
client.sadd("users", "user:namita");
client.hmset("user:namita", "username", "namita", "foo", "baz");

特定のハッシュ値のみを取得するか、単一のユーザー オブジェクト全体を取得するかに応じて、さまざまなタイプの redisハッシュコマンドでユーザーにアクセスできるようになりました。すべてのユーザーを取得するには、たとえばSMEMBERSコマンドを使用できます。node_redis のreadmeを参照して、その API に関する詳細を確認してください。

于 2011-06-01T07:22:55.430 に答える