Node-redis: Löschen Sie das Array von Schlüsseln in Redis mit node-redis

Erstellt am 29. Sept. 2015  ·  5Kommentare  ·  Quelle: NodeRedis/node-redis

Ich habe Arrays von Schlüsseln wie ["aaa","bbb","ccc"], also möchte ich alle diese Schlüssel mit einem Befehl aus redis löschen. Ich möchte nicht mit Schleife iterieren. Ich habe über den Redis-Befehl DEL gelesen und auf dem Terminal-Redis-Client funktioniert es, aber mit nodejs funktioniert es nicht

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

where tokenKeys=["aaa","bbb","ccc"] , dieser Code funktioniert, wenn ich einen Schlüssel wie tokenKeys="aaa" sende

question

Alle 5 Kommentare

client.del kann eine variable Anzahl von Argumenten annehmen. Sie können apply , um Ihr Array in Argumente umzuwandeln (aber Sie müssen auch Ihren Callback pushen). Es würde ungefähr so ​​aussehen:

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);

Es ist ein bisschen seltsam, aber es wird den Job ohne Iteration bekommen.

@abhaygarg Dies sollte

@stockholmux Dies ist nicht die Lösung des Problems. Tatsächlich ist es besser, sofort die Array-Notation zu verwenden, anstatt Argumente zu verwenden (sie werden in ein internes Array umgeschrieben).

Ja, es funktioniert, Sie können das Array direkt in Redisclient.del(tokenKeys,function(err,count){ übergeben.
Logger.info("count is", count)
Logger.error("err ist ",err)
})
es gut löschen Sie können das Array in Redisclient.del() übergeben, es funktioniert gut

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

@knoxcard FYI - Verwenden Sie keine SCHLÜSSEL - es ist auf großen Produktionssystemen gefährlich.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

jackycchen picture jackycchen  ·  4Kommentare

juriansluiman picture juriansluiman  ·  3Kommentare

id0Sch picture id0Sch  ·  4Kommentare

Stono picture Stono  ·  6Kommentare

aletorrado picture aletorrado  ·  6Kommentare