Det finns inget kommando för det, men du kan skriva ett skript för att göra det.
Du måste utföra ett "typ"-kommando för varje tangent:
> type <key>
och beroende på svaret utför:
- för "sträng":
hämta
- för "hash":
hgetall
- för "lista":
lrange
0 -1 - för "set":
smembers
- för "zset":
zrange
0 -1 med poäng
Tänk på att för hash och sorterade set kommer du att få nycklarna/poängen och värdena.
En möjlig sh
implementering:
#!/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
Men notera:
Varning:överväg
NYCKLAR
som ett kommando som endast bör användas i produktionsmiljöer med extrem försiktighet. Det kan förstöra prestanda när det körs mot stora databaser. Det här kommandot är avsett för felsökning och speciella operationer, som att ändra din tangentrymdslayout.
https://redis.io/commands/keys