Redis のすべてのキーのすべてのリストを取得するには、 を使用する必要があることはわかっていますがKEYS *
、すべてのキーとその値を一緒に出力する方法はありますか?
数分間検索しても結果は得られませんでした。
PS回答ありがとうございますが、ネイティブソリューションを探しています。のすべての出力を反復処理する関数をKEYS *
自分で作成できます。
Redis のすべてのキーのすべてのリストを取得するには、 を使用する必要があることはわかっていますがKEYS *
、すべてのキーとその値を一緒に出力する方法はありますか?
数分間検索しても結果は得られませんでした。
PS回答ありがとうございますが、ネイティブソリューションを探しています。のすべての出力を反復処理する関数をKEYS *
自分で作成できます。
Redis コマンドのドキュメントには、複数のキーのキーと値を取得するためのネイティブ コマンドは含まれていません。
これを行う最もネイティブな方法は、コマンドまたは コマンドを使用して、 lua スクリプトを redisにロードすることです。SCRIPT LOAD
EVAL
回避策は、次のような bash マジックを使用することです。
echo 'keys YOURKEY*' | redis-cli | sed 's/^/get /' | redis-cli
これにより、YOURKEY で始まるすべてのキーからデータが出力されます。
keys コマンドはブロッキング操作であり、注意して使用する必要があることに注意してください。
KEYS コマンドは、Redis イベント ループを数秒間ブロックする可能性があるため、多数のキーがある場合、Redis 本番インスタンスで使用しないでください。
ダンプ (bgsave) を生成し、次の Python パッケージを使用して解析し、データを抽出します。
https://github.com/sripathikrishnan/redis-rdb-tools
json 出力を使用することも、Python で独自の出力をカスタマイズすることもできます。