J'ai affiné un peu la solution bash, de sorte que le scan plus efficace est utilisé à la place de keys, et l'impression des valeurs du tableau et du hash est prise en charge. Ma solution imprime également le nom de la clé.
redis_print.sh:
#!/bin/bash
# Défaut au motif de clé '*', ce qui signifie toutes les clés redis dans l'espace de noms
REDIS_KEY_PATTERN="${REDIS_KEY_PATTERN:-*}"
for key in $(redis-cli --scan --pattern "$REDIS_KEY_PATTERN")
do
type=$(redis-cli type $key)
if [ $type = "list" ]
then
printf "$key => \n$(redis-cli lrange $key 0 -1 | sed 's/^/ /')\n"
elif [ $type = "hash" ]
then
printf "$key => \n$(redis-cli hgetall $key | sed 's/^/ /')\n"
else
printf "$key => $(redis-cli get $key)\n"
fi
done
Note : vous pouvez formuler un one-liner de ce script en supprimant la première ligne de redis_print.sh et en tapant: cat redis_print.sh | tr '\n' ';' | awk '$1=$1'