Redisには、redisのキーの名前を一括変更するコマンドはありません。ただし、redis-cliといくつかのコマンドラインツールを使用してスクリプトを作成するのは簡単です。
このコマンドは、users:*に一致するキーの名前をcustomers *:
に変更します。スクリプトはどのように機能しますか?
- まず、
redis-cli --scan --pattern <pattern>
を使用します 名前を変更する必要があるキーのリストを取得します。 scanコマンドを使用しているため、これによってredisサーバーがブロックされることはありません。 - 次に、awkを使用して文字列の置換を行い、新しい名前を生成します。これは
gsub(/users/,"customers", new_key)
です。 bashコマンドで - 次に、コマンドの生成を使用します
rename <old key> <new key>
、ただし、効率を上げるために、redisプロトコル形式で生成します。 - 最後に、
--pipe
を使用してredisプロトコルをredis-cliにパイプします。 オプション。これは、コマンドのストリームをRedisサーバーに送信するための最も効率的な方法です。
- redisサーバーがローカルホスト上にない場合は、ホスト、ポート、およびパスワードを2回提供する必要があります。 コマンドで、基本的にredis-cliを呼び出すときはいつでも。
- ニーズを満たすには、スキャンパターンとgsub呼び出しを置き換える必要があります。
- ハッシュ内のフィールドの名前を変更する
- 有効期限を複数のキーに設定
- パターンに一致するキーを削除する
- Redis用のRDBToolsGUIを使用すると、一括アクションをプレビューでき、Redisのデータを管理するための強力なGUIが提供されます。無料でダウンロードできます!