Redisの設定をコマンドラインから変更する方法
はじめに
Redisはオープンソースのインメモリ型のキーバリューデータストアです。Redisには、Redisサーバーの設定をリアルタイムで変更するためのいくつかのコマンドがあります。このチュートリアルでは、これらのコマンドのいくつかについて説明し、これらの設定変更を永久的に行う方法も説明します。
このガイドの使い方を教えてください。
このガイドは、自己完結型の例を使用したチートシートとして書かれています。あなたが完了しようとしているタスクに関連する任意のセクションに飛ぶことをお勧めします。
このガイドで表示されるコマンドは、Redisバージョン6.0.16を実行しているUbuntu 22.04サーバーでテストされました。同様の環境を準備するには、Ubuntu 22.04にRedisをインストールおよびセキュリティ設定する方法のガイドのステップ1に従ってください。これらのコマンドの動作を示すために、Redisコマンドラインインターフェースであるredis-cliを使用して実行します。異なるRedisインターフェース(例:Redli)を使用している場合、特定のコマンドの出力は異なる場合があります。
以下のような選択肢があります:
代わりに、これらのコマンドをテストするためには、管理されたRedisデータベースインスタンスを用意することもできますが、データベースプロバイダーによって許可される管理レベルによっては、このガイドで説明されているように一部のコマンドが動作しない場合があります。Silicon Cloud Managed Databaseを用意するには、Managed Databasesの製品ドキュメントに従ってください。その後、Redliをインストールするか、TLSトンネルを設定してManaged DatabaseにTLS経由で接続する必要があります。
「Silicon Cloudの管理対象Redisデータベースでは、通常、ユーザーは設定ファイルを変更することはできません。このガイドで説明されているコマンドを使用すると、エラーが発生する場合がありますので、注意してください。」
Redisの設定を変更する。
このセクションで説明されているコマンドは、現在のセッションの期間中またはconfig rewriteを実行するまでの間、Redisサーバーの動作を変更します。config rewriteを実行すると、これらの変更は永続的になります。お好みのテキストエディタを使用して、Redisの設定ファイルを直接開いて編集することもできます。たとえば、nanoを使用することができます。
- sudo nano /etc/redis/redis.conf
Warning
このコマンドの名前を、誤って実行される可能性の低い名前に変更することもあなたの利益にかなうかもしれません。
ランタイムでRedisを再設定するためのconfig setは、サービスを再起動することなく使用することができます。次の構文を使用します。
- config set parameter value
例えば、Redisのsaveコマンドを実行した後に生成されるデータベースダンプファイルの名前を変更したい場合、以下のようなコマンドを実行することができます。
- config set “dbfilename” “new_file.rdb”
設定の変更が有効であれば、コマンドは「OK」と返します。それ以外の場合は、エラーが返されます。
Note
設定の変更を恒久的にする
config setはRedisインスタンスの設定ファイルを永続的に変更しません。それはランタイム時にのみRedisの振る舞いを変えます。config-setコマンドを実行した後にredis.confを編集し、現在のセッションの設定を永続化するには、config rewriteを実行してください。
- config rewrite
このコマンドは、サーバーで現在使用されている設定に合わせるための最小限の変更を含めながら、オリジナルのredis.confファイルのコメントと全体の構造を保存することを優先します。
設定が正常に書き換えられれば、設定書き換えはOKを返す。
Redisの設定を確認する
Redis サーバーの現在の設定パラメータを読み取るには、config get コマンドを実行します。config get は単一の引数を受け取りますが、これは redis.conf で使用されるパラメータの正確な一致またはグロブパターンのいずれかです。例えば:
- config get repl*
Redisの設定によっては、このコマンドによって次のような結果が返されます。
1) “repl-ping-slave-period” 2) “10” 3) “repl-timeout” 4) “60” 5) “repl-backlog-size” 6) “1048576” 7) “repl-backlog-ttl” 8) “3600” 9) “repl-diskless-sync-delay” 10) “5” 11) “repl-disable-tcp-nodelay” 12) “no” 13) “repl-diskless-sync” 14) “no”
config setでサポートされるすべての設定パラメーターを取得するには、config get *を実行することもできます。
結論。
このガイドでは、Redisサーバーの設定ファイルを変更するために使用するredis-cliコマンドについて詳しく説明しています。関連する他のコマンド、引数、手順について知りたい場合は、コメントでお問い合わせや提案をしてください。
Redisコマンドに関する詳細は、Redisデータベースの管理方法についての当社のチュートリアルシリーズをご覧ください。