3

在我的应用程序中,我使用 node.js 和 redis 数据库。如何在 redis 中保存许多 json 对象。

            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);
              }
          });

在沙发数据库中,我们可以使用上面的代码一次又一次地将 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可能就不适合了。

在某些情况下,您可能可以使用一些技巧,以便能够同时查询userIdand appId,您可以将324324:123456其用作键,并使用查询

GET 324324:*

为一位用户获取所有应用程序

或者

GET *:123456

获取给定应用程序的所有用户。

于 2013-03-06T07:02:03.147 回答