そのためのコマンドはありませんが、そうするためのスクリプトを書くことができます。
キーごとに「タイプ」コマンドを実行する必要があります:
> type <key>
応答に応じて実行します:
- 「文字列」の場合:
get <key>
- 「ハッシュ」の場合:
hgetall <key>
- 「リスト」の場合:
lrange <key> 0 -1
- 「セット」の場合:
smembers <key>
- 「zset」の場合:
zrange <key> 0 -1 withscores
ハッシュとソートされたセットの場合、キー/スコアと値を取得することに注意してください。
可能なsh
実装:
#!/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
ただし、注意してください:
警告:
KEYS
を検討してください 細心の注意を払って本番環境でのみ使用する必要があるコマンドとして。大規模なデータベースに対して実行すると、パフォーマンスが低下する可能性があります。このコマンドは、デバッグや、キースペースのレイアウトの変更などの特別な操作を目的としています。
https://redis.io/commands/keys