Node-redis: Supprimer le tableau de clés dans redis à l'aide de node-redis

Créé le 29 sept. 2015  ·  5Commentaires  ·  Source: NodeRedis/node-redis

J'ai des tableaux de clés comme ["aaa","bbb","ccc"] donc je veux supprimer toutes ces clés de redis en utilisant une seule commande . Je ne veux pas itérer en utilisant loop . J'ai lu à propos de la commande redis DEL et sur le terminal redis-client cela fonctionne mais en utilisant nodejs cela ne fonctionne pas

Redisclient.del(tokenKeys,function(err,count){
Logger.info("nombre est ",nombre)
Logger.error("err est ",err)
})

où tokenKeys=["aaa","bbb","ccc"] , ce code fonctionne si j'envoie une clé comme tokenKeys="aaa"

question

Tous les 5 commentaires

client.del peut prendre un nombre variable d'arguments. Vous pouvez utiliser apply pour convertir votre tableau en arguments (mais vous devrez également pousser votre rappel). Cela ressemblerait à quelque chose comme ceci :

var tokenKeys = ["aaa","bbb","ccc"];

tokenKeys.push(function(err,count){
Logger.info("count is ",count)
Logger.error("err is ",err)
});

Redisclient.del.apply(Redisclient,tokenKeys);

C'est un peu bizarre, mais il fera le travail sans itération.

@abhaygarg Cela devrait fonctionner comme vous l'avez écrit. Pourriez-vous fournir plus de votre code? Je suppose que l'erreur est quelque part dans votre code. Et tu utilises quelle version ?

@stockholmux ce n'est pas la solution au problème. En fait, il est préférable d'utiliser la notation de tableau tout de suite au lieu d'utiliser des arguments (ils seront réécrits dans un tableau interne).

ouais ça marche, vous pouvez passer directement le tableau dans Redisclient.del(tokenKeys,function(err,count){
Logger.info("nombre est ",nombre)
Logger.error("err est ",err)
})
il supprime bien, vous pouvez passer un tableau dans Redisclient.del() cela fonctionne bien

app.redis.keys('key_*', (err, keys) => {
    keys.forEach(key => {
        app.redis.del(key)
    })
})

@knoxcard Pour info - N'utilisez pas de KEYS - c'est dangereux sur un grand système de production.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

shmendo picture shmendo  ·  6Commentaires

adamgajzlerowicz picture adamgajzlerowicz  ·  4Commentaires

dotSlashLu picture dotSlashLu  ·  5Commentaires

Atala picture Atala  ·  3Commentaires

aletorrado picture aletorrado  ·  6Commentaires