Neexistuje na to žádný příkaz, ale můžete si k tomu napsat skript.
Pro každou klávesu budete muset provést příkaz "type":
> type <key>
a v závislosti na odpovědi provést:
- pro "řetězec":
get <key>
- pro "hash":
hgetall <key>
- pro "seznam":
lrange <key> 0 -1
- pro "set":
smembers <key>
- pro "zset":
zrange <key> 0 -1 withscores
Mějte na paměti, že pro hash a tříděné sady získáte klíče/skóre a hodnoty.
Možné sh
implementace:
#!/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
Ale mějte na paměti:
Upozornění:zvažte
KEYS
jako příkaz, který by měl být v produkčním prostředí používán pouze s extrémní opatrností. Při provádění proti velkým databázím může dojít ke snížení výkonu. Tento příkaz je určen pro ladění a speciální operace, jako je změna rozložení klíčového prostoru.
https://redis.io/commands/keys