コマンドラインからRedisの設定を変更する方法

はじめに

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を使用することができます。

  1. sudo nano /etc/redis/redis.conf

警告: config setコマンドは危険とされています。Redisの設定ファイルを変更することで、Redisサーバーが予期しない動作をする可能性があります。Redisの設定を変更したい場合は、その動作をテストしているか、変更を確実にしたい場合にのみconfig setコマンドを実行することをお勧めします。

誤って実行される可能性の低い名前にこのコマンドを変更することが望ましいかもしれません。

config setは、Redisサービスを再起動せずにRedisを実行時に再構成することができます。次の構文が使用されます:

  1. config set parameter value

たとえば、saveコマンドを実行した後にRedisが生成するデータベースのダンプファイルの名前を変更したい場合、次のようなコマンドを実行することができます:

  1. config set "dbfilename" "new_file.rdb"

設定の変更が有効な場合、コマンドはOKを返します。それ以外の場合は、エラーが返されます。

注意: redis.confファイルのすべてのパラメータをconfig set操作で変更することはできません。たとえば、requirepassパラメータで定義された認証パスワードは変更できません。

設定変更の永続化

config setはRedisインスタンスの設定ファイルを永久に変更しません。ランタイムでRedisの動作を変更するだけです。 config-setコマンドを実行した後にredis.confを編集して、現在のセッションの設定を永続化するには、config rewriteを実行します。

  1. config rewrite

このコマンドは、元のredis.confファイルのコメントと全体の構造を保存することを優先し、サーバーが現在使用している設定に合わせて最小限の変更のみを行います。

config rewriteconfig setと同様に、リライトが成功した場合はOKを返します。

Redisの設定の確認

Redisサーバーの現在の設定パラメータを読み取るには、config getコマンドを実行します。 config getは、redis.confで使用されるパラメータと完全に一致するか、グロブパターンのいずれかが単一の引数として指定できます。 例:

  1. 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