【问题标题】:Converting a simple table from SQL to Redis using Node.js使用 Node.js 将简单表从 SQL 转换为 Redis
【发布时间】:2014-05-14 07:39:36
【问题描述】:

假设我有一个 SQL 表,其中包含一个名为 userid(唯一、主键、自动增量)、用户名 (varchar) 和密码 (Varchar) 的字段。

现在假设我想在 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);
})

最后,我将如何加入 2 个哈希(就像我会加入需要加入的 2 个表一样?)

【问题讨论】:

    标签: sql node.js express redis node-redis


    【解决方案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

    【讨论】:

      猜你喜欢
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-06
      • 2019-02-20
      • 1970-01-01
      • 2011-09-30
      • 1970-01-01
      相关资源
      最近更新 更多