【发布时间】:2017-05-17 05:06:25
【问题描述】:
我试图在我的nodejs 应用程序中使用redis。我能够完美地保存和检索价值。我正在使用哈希,它允许我拥有单个唯一键以及子键。这里 offer id 是我的子键,offer 是键。
我正在保存如下优惠
let offer = {
offerId: req.query.id,
offerName: req.query.offerName,
offerVendor: req.query.offerVendor
}
client.hset('offer', offer.offerId, JSON.stringify(offer), redis.print);
并像下面这样检索值
try {
console.log('ping response:', await client.ping());
const offerId = req.query.id;
client.hget('offer', offerId, function(err, reply){
let offer = JSON.parse(reply);
res.send(offer);
});
} catch(err) {
console.log('ping error:', err);
}
我想删除基于 id 的优惠,就像基于 id 保存或获取一样。我浏览了文档https://github.com/NodeRedis/node_redis#usage-example,但没有找到。
根据 id 删除offer的方法是什么?
【问题讨论】:
-
我们可以使用“del”,参考以下链接github.com/NodeRedis/node_redis/blob/master/test/commands/…
-
@Hemanth 我认为它会删除完整的优惠密钥,您知道如何根据子密钥删除吗?在我的情况下提供 ID
-
不知道,但我建议通过使用下划线/lodash删除子键来恢复并将其再次存储到redis中。
-
@Hemanth Nah 这可能是低效的方法
-
是的...我知道它的效率很低,直接在 git hub 中询问 redis 人。平均时间你可以用临时修复移动。试试这样 ``` client.del('offer', offerId, function(err, reply){ }); ```
标签: node.js redis node-redis