3

私のアプリケーションでは、node.js を redis データベースで使用しています。多くの json オブジェクトを redis に保存するにはどうすればよいですか。

            db.save({
                description:'sdsd',userId:'324324',url:'http://www.abc.com/abc.html',appId:'123456'
          }, function (err, res) {
              if(err){
                  console.log(err);
                  return;
              }
              else{

                  console.log(res);
              }
          });

ソファ db では、上記のコードを使用して、json オブジェクトをドキュメントとして何度も保存できます。redis でこれを行う方法。ドキュメントから、以下のコードで json オブジェクトを保存することがわかりました。

               client.hmset("hosts", "mjr", "1", "another", "23", "home", "1234");

繰り返しますが、他のjsonオブジェクトを以下のように同じ「ホスト」に保存したい

          client.hmset("hosts", "mjr", "2", "another", "33", "home", "1235");

これどうやってするの。

4

1 に答える 1

4

Redis ストレージ モデルは CouchDB とは異なります。Redis では、すべてがそのキーによってアクセスされるため、すべてはデータの取得方法に依存します。

したがって、 でデータを取得できるようにしたい場合はuserId、これをキーとして使用します。

redis.set('324324', {
  description:'sdsd',
  url:'http://www.abc.com/abc.html',
  appId:'123456'
  });

ただし、複数のデータを使用してデータを取得する必要がある場合は、redis は適していない可能性があります。

場合によっては、いくつかのトリックを使用できる場合があるため、 と の両方userIdでクエリを実行するには、 キーとして をappId使用し、 を使用してクエリを実行できます。324324:123456

GET 324324:*

1 人のユーザーのすべてのアプリを取得するには

また

GET *:123456

特定のアプリのすべてのユーザーを取得します。

于 2013-03-06T07:02:03.147 に答える