Dafür gibt es keinen Befehl, aber Sie können dafür ein Skript schreiben.
Sie müssen für jede Taste einen "Type"-Befehl ausführen:
> type <key>
und je nach Antwort ausführen:
- für "String":
get <key>
- für "hash":
hgetall <key>
- für "Liste":
lrange <key> 0 -1
- für "set":
smembers <key>
- für "zset":
zrange <key> 0 -1 withscores
Denken Sie daran, dass Sie für Hashes und sortierte Sätze die Schlüssel/Ergebnisse und Werte erhalten.
Ein mögliches sh
Implementierung:
#!/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
Aber beachten Sie:
Warnung:Betrachten Sie KEYS
als Befehl, der in Produktionsumgebungen nur mit äußerster Vorsicht verwendet werden sollte. Es kann die Leistung beeinträchtigen, wenn es für große Datenbanken ausgeführt wird. Dieser Befehl ist zum Debuggen und für spezielle Operationen gedacht, wie z. B. das Ändern Ihres Keyspace-Layouts.
https://redis.io/commands/keys