使用Node.js将SQL中的简单表转换为Redis

3
假设我有一个包含userid(唯一、主键、自动递增)、用户名(varchar)和密码(Varchar)字段的SQL表。
现在假设我想在Redis中重新创建这个表。据我所知,最好使用“哈希”来表示此表。因此,我的node.js代码有一个创建用户的函数:
function newUser(username,password)
{
    //incr the userid
    client.incr("userid",redis.print);

    //Creating the user
    client.get('userid',function(err,userid){
       client.hmset("users", "id",userid,"name",username,"password",password);
    });

}

这正确吗?

另外,我如何访问存储在哈希表中的信息?我尝试以下内容,但只能返回1行:

client.hgetall('users',function(err,user){
   console.log('User Name: ' + user.name +" password = "+user.password);
})

最后,我如何连接两个哈希表(就像需要连接的两个表格一样)?
1个回答

1
Redis非常灵活,因此您可以使用键名和数据结构来为用户提供服务,尽量不要像MySQL那样以结构化的方式考虑。
用一个整数来跟踪用户ID。 global:index:users
将用户密码存储为字符串。 user:<id>:password
将用户信息存储在哈希表中。 user:<id> name=>username email=>user email some other key=>some other data
通过密码获取用户ID,因为我们不想查找整个user:<id>来获取密码所属的用户。 user:<passwordHash>:id user:<name>:id

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接