Encontramos la solución a esta escollo, o por lo menos eso creemos. Si sigues con dudas coméntalo y sin dudas
Solución:
No hay un comando para eso, pero puede escribir un script para hacerlo.
Tendrá que realizar para cada key un comando de “tipo”:
> type
y dependiendo de la respuesta realizar:
- por “string”:
get
- para “hachís”:
hgetall
- para “lista”:
lrange
0 -1 - para “conjunto”:
smembers
- para “zset”:
zrange
0 -1 withscores
Tenga en cuenta que para hashes y conjuntos ordenados obtendrá el keys/puntuaciones y valores.
Un posible sh
implementación:
#!/bin/sh -eu
keys=`redis-cli keys '*'`
if [ "$keys" ]; then
echo "$keys" | while IFS= read -r key; do
type=`echo | redis-cli type "$key"`
case "$type" in
string) value=`echo | redis-cli get "$key"`;;
hash) value=`echo | redis-cli hgetall "$key"`;;
set) value=`echo | redis-cli smembers "$key"`;;
list) value=`echo | redis-cli lrange "$key" 0 -1`;;
zset) value=`echo | redis-cli zrange "$key" 0 -1 withscores`;;
esac
echo "> $key ($type):"
echo "$value" | sed -E 's/^/ /'
done
fi
Pero tenga en cuenta:
Advertencia: considere
KEYS
como un comando que solo debe usarse en entornos de producción con extremo cuidado. Puede arruinar el rendimiento cuando se ejecuta en bases de datos grandes. Este comando está destinado a la depuración y operaciones especiales, como cambiar el diseño del espacio de teclas.
https://redis.io/comandos/keys
Respuesta corta:
for i in $(redis-cli KEYS '*'); do echo $i; redis-cli GET $i; done
Respuesta larga:
para obtener todo keys:
redis-cli KEYS '*'
para obtener el valor de un key:
redis-cli GET
y si quieres todos los valores:
for i in $(redis-cli KEYS '*'); do redis-cli GET $i; done
y finalmente todo keys y valores:
for i in $(redis-cli KEYS '*'); do echo $i; redis-cli GET $i; done
Con redis >= 5.x
un nuevo tipo de datos stream
Fue presentado. Entonces el
> type
debería darte stream
. Para obtener sus valores:
> XRANGE - +
Te mostramos las comentarios y valoraciones de los lectores
Si piensas que te ha resultado de utilidad este post, sería de mucha ayuda si lo compartieras con otros entusiastas de la programación y nos ayudes a extender nuestra información.