【问题标题】:Store objects with an id as key in redis with node js使用节点js在redis中以id作为键存储对象
【发布时间】:2019-10-22 18:56:13
【问题描述】:

我想在节点js的redis中存储对象

到目前为止,我已经尝试过:

redisClient.setex(item._id, 3600, temp, (err, data) => {    
    if (err) {    
        reject(err);
    } else {
        resolve(data)
    }
});

【问题讨论】:

    标签: javascript node.js express redis


    【解决方案1】:

    .setex() 用于字符串。你在那里传递的是对象。如果你想在 redis 中使用字符串数据类型,当你从 redis 中取回它时,你必须通过 JSON.stringify(temp)JSON.parse 将 String 传递给它。

    redisClient.setex(item._id, 3600, JSON.stringify(temp), (err, data) => {
        if (err) {
            reject(err)
        } else {
            resolve(data)
        }
    })
    
    

    redis 的数据类型类似于 hash 的对象,但这仅适用于您的对象是浅层的。

    redis.hmset('item:${item._id}', item) // saving
    redis.hgetall('item:1') // geting all fiellds out
    redis.hmget('item:1', ['field1', 'field2']) // geting some fields out
    

    每个库的用法不同,但想法是这样的

    【讨论】:

    • 我想存储对象而不是字符串,我该怎么做?
    • @BasirBaig 更新答案。您可以为此目的使用哈希
    • 你能告诉我我们怎么做吗?因为我是reddis的新手。谢谢
    • 请问shaalow是什么意思
    • id:{name:"abc","price":"12"} 我必须用不同的 id 制作这类对象。谢谢
    猜你喜欢
    • 2014-01-11
    • 1970-01-01
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多