はじめに
Redisは、オープンソースのインメモリキーバリューデータストアです。Redisには、Redisサーバーの設定をリアルタイムで変更するためのいくつかのコマンドがあります。このチュートリアルでは、これらのコマンドについて説明し、これらの設定変更を永続化する方法も説明します。
このガイドの使用方法
このガイドは、自己完結型の例を含んだチートシートとして書かれています。完了したいタスクに関連するセクションに直接移動することをお勧めします。
このガイドで示されるコマンドは、Redisバージョン6.0.16を実行しているUbuntu 22.04サーバーでテストされました。同様の環境を設定するには、Ubuntu 22.04にRedisをインストールしてセキュアにする方法のステップ1に従うことができます。これらのコマンドの動作をデモンストレーションするために、redis-cli
、つまりRedisのコマンドラインインターフェースを使用して実行します。異なるRedisインターフェース(例えばRedli)を使用している場合、一部のコマンドの出力は異なる場合があります。
代わりに、これらのコマンドをテストするために管理されたRedisデータベースインスタンスをプロビジョニングすることもできますが、データベースプロバイダーが許可する制御レベルによっては、このガイドの一部のコマンドが説明通りに動作しない場合があります。DigitalOceanの管理されたデータベースをプロビジョニングするには、管理されたデータベースの製品ドキュメントに従ってください。その後、Redliをインストールするか、TLSトンネルを設定してTLS経由で管理されたデータベースに接続する必要があります。
管理されたRedisデータベースでは、通常、ユーザーは構成ファイルを変更することはできません。DigitalOceanの管理されたデータベースを使用している場合、このガイドで説明されているコマンドはエラーが発生します。
Redisの構成の変更
このセクションで説明されているコマンドは、Redisサーバーの動作を現在のセッションの期間中、またはconfig rewrite
を実行するまで永続的に変更します。お好みのテキストエディタを使用してRedisの構成ファイルを直接開いて編集することもできます。たとえば、nano
を使用することができます。
- sudo nano /etc/redis/redis.conf
警告: config set
コマンドは危険とされています。Redisの設定ファイルを変更することで、Redisサーバーが予期しない動作をする可能性があります。Redisの設定を変更したい場合は、その動作をテストしているか、変更を確実にしたい場合にのみconfig set
コマンドを実行することをお勧めします。
誤って実行される可能性の低い名前にこのコマンドを変更することが望ましいかもしれません。
config set
は、Redisサービスを再起動せずにRedisを実行時に再構成することができます。次の構文が使用されます:
- config set parameter value
たとえば、save
コマンドを実行した後にRedisが生成するデータベースのダンプファイルの名前を変更したい場合、次のようなコマンドを実行することができます:
- config set "dbfilename" "new_file.rdb"
設定の変更が有効な場合、コマンドはOK
を返します。それ以外の場合は、エラーが返されます。
注意: redis.conf
ファイルのすべてのパラメータをconfig set
操作で変更することはできません。たとえば、requirepass
パラメータで定義された認証パスワードは変更できません。
設定変更の永続化
config set
はRedisインスタンスの設定ファイルを永久に変更しません。ランタイムでRedisの動作を変更するだけです。 config-set
コマンドを実行した後にredis.conf
を編集して、現在のセッションの設定を永続化するには、config rewrite
を実行します。
- config rewrite
このコマンドは、元のredis.conf
ファイルのコメントと全体の構造を保存することを優先し、サーバーが現在使用している設定に合わせて最小限の変更のみを行います。
config rewrite
もconfig set
と同様に、リライトが成功した場合はOK
を返します。
Redisの設定の確認
Redisサーバーの現在の設定パラメータを読み取るには、config get
コマンドを実行します。 config get
は、redis.conf
で使用されるパラメータと完全に一致するか、グロブパターンのいずれかが単一の引数として指定できます。 例:
- config get repl*
Redisの設定に応じて、このコマンドは次のような結果を返します:
Output 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 get *
を実行することで、config set
でサポートされているすべての設定パラメータを返すこともできます。
結論
このガイドでは、Redisサーバーの設定ファイルを変更するために使用されるredis-cli
コマンドについて説明しています。このガイドで学びたい他の関連コマンド、引数、手順がある場合は、コメントで質問または提案をしてください。
Redisコマンドの詳細については、Redisデータベースの管理方法のチュートリアルシリーズをチェックしてください。
Source:
https://www.digitalocean.com/community/cheatsheets/how-to-change-redis-configuration