Node-redis: Eliminar matriz de claves en redis usando node-redis

Creado en 29 sept. 2015  ·  5Comentarios  ·  Fuente: NodeRedis/node-redis

Tengo matrices de claves como ["aaa", "bbb", "ccc"] así que quiero borrar todas estas claves de redis usando un comando. No quiero iterar usando loop. Leí sobre el comando de redis DEL y en el terminal redis-client funciona, pero usando nodejs no funciona

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

donde tokenKeys = ["aaa", "bbb", "ccc"], este código funciona si envío una clave como tokenKeys = "aaa"

question

Todos 5 comentarios

client.del puede tomar un número variable de argumentos. Puede usar apply para convertir su matriz en argumentos (pero también deberá presionar su devolución de llamada). Se vería así:

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 un poco extraño, pero hará el trabajo sin iterar.

@abhaygarg Esto debería funcionar tal como lo escribió. ¿Podría proporcionar más de su código? Supongo que el error está en algún lugar de tu código. ¿Y qué versión usas?

@stockholmux, esta no es la solución al problema. En realidad, es mejor usar la notación de matriz de inmediato en lugar de usar argumentos (se reescribirán en una matriz interna).

sí, está funcionando, puede pasar directamente la matriz en Redisclient.del (tokenKeys, function (err, count) {
Logger.info ("el recuento es", recuento)
Logger.error ("err is", err)
})
se elimina bien, puede pasar la matriz en Redisclient.del () funciona bien

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

@knoxcard FYI: no use LLAVES, es peligroso en un sistema de producción grande.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

shmendo picture shmendo  ·  6Comentarios

michaelwittig picture michaelwittig  ·  3Comentarios

adamgajzlerowicz picture adamgajzlerowicz  ·  4Comentarios

juriansluiman picture juriansluiman  ·  3Comentarios

dotSlashLu picture dotSlashLu  ·  5Comentarios