我试图用 nodejs 在 redis 中管理一个列表。我可以使用以下代码存储列表:
client.rpush(['room_'+room, data.customClient], function(err, reply) {
client.lrange('room_'+room, 0, -1, function(err, reply) {
console.log(reply);
});
});
控制台输出为
[ 'POanqn9llyTcuIurUPAN', 'm9vd57wecp6JvtHOrRSJ' ]
现在我想从这个列表中删除一个键POanqn9llyTcuIurUPAN。我该怎么做?
最佳答案
可以通过lrem
命令来完成。删除具有该值的所有条目的用法是:
client.lrem('room_'+room, data.customClient, 0, 'POanqn9llyTcuIurUPAN', function(err, data){
console.log(data); // Tells how many entries got deleted from the list
});
这里 0 是一个计数,告诉我们删除给定列表中所有值为 POanqn9llyTcuIurUPAN 的条目。来自 https://redis.io/commands/lrem计数的可能值可能是:
- count > 0:从头到尾移除等于 value 的元素。
- count < 0: 从尾部到头部删除等于 value 的元素。
- count = 0:删除所有等于值的元素。
关于javascript - 使用 Node.js 从 Redis 列表中删除一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37840323/