我试图用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 。我怎么能这样做?
答案 0 :(得分:1)
可以通过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开始,计数的可能值可以是:
答案 1 :(得分:0)
可以很容易地做到这一点:
client.lrem('room_'+room, 0, 'POanqn9llyTcuIurUPAN', function(err, data){
console.log(data); // Tells how many entries got deleted from the list
});
答案 2 :(得分:-1)
client.del('POanqn9llyTcuIurUPAN', function(err, reply) {
console.log(reply);
});
或者之前检查:
client.exists('key', function(err, reply) {
if (reply === 1) {
client.del('POanqn9llyTcuIurUPAN', function(err, reply) {
console.log(reply);
});
}
});