使用Node.js将简单的表从SQL转换为Redis
对于node.js / javascript和redis,我还是比较新的,所以如果这个问题很简单,请和我一起。
假设我有一个SQL表,它包含一个名为userid(唯一,主键,自动增量),用户名(varchar)和密码(Varchar)的字段。
现在假设我想在Redis中重新创build这个表。 根据我的理解,最好为这个表使用“散列”。 因此我的node.js代码有一个创build用户的函数:
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); })
最后,我将如何join2个哈希(就像我需要join的2个表一样)?
谢谢
第一个Redis是非常灵活的,所以你可以把键名和数据结构用于用户,不要像mySQL那样以结构化的方式来处理这个思想。
一个整数来跟踪用户ID。
global:index:users
将用户密码存储为string
user:<id>:password
将用户信息存储在散列中
user:<id>
name=>username
email=>user email
some other key=>some other data
得到用户名密码,因为我们不想看整个user:<id>
来获取谁的密码是。
user:<passwordHash>:id
的
user:<name>:id