Redis入門:Dockerで構築したRedis環境でredis.confを設定する

スポンサーリンク
Redis入門:Dockerで構築したRedis環境でredis.confを設定する 環境構築
Redis入門:Dockerで構築したRedis環境でredis.confを設定する
この記事は約4分で読めます。
よっしー
よっしー

こんにちは。よっしーです(^^)

今日は、Dockerで構築したRedis環境でredis.confを設定する方法についてご紹介します。

スポンサーリンク

背景

Redisの実行環境をDockerで構築する方法について調査する機会があったので、そのときの内容を備忘として残しました。

今回作成したファイルは下記のGitHUBにあります。

概要

redis.confはRedisサーバーの設定ファイルで、Redisの動作や様々な機能の設定を行います。ここでは、一般的なredis.confのセクションと設定項目について説明します。なお、具体的な設定は使用ケースや要件により異なるため、以下の例は一般的なものです。

  1. ネットワーク設定:
  • bind: Redisが受け付けるネットワークインターフェースを指定します。
  • port: Redisが待ち受けるポート番号を指定します。
   bind 127.0.0.1
   port 6379
  1. データ永続化:
  • dir: データファイルの保存先ディレクトリを指定します。
  • save: データをディスクに保存する条件を指定します。
   dir /var/lib/redis
   save 900 1
  1. セキュリティ:
  • requirepass: Redisに接続する際に必要なパスワードを指定します。
   requirepass your_password
  1. パフォーマンス:
  • maxclients: 同時接続の最大クライアント数を指定します。
  • maxmemory: Redisが使用できる最大メモリ容量を指定します。
   maxclients 10000
   maxmemory 2GB
  1. ログ:
  • logfile: Redisのログファイルのパスを指定します。
   logfile /var/log/redis/redis-server.log
  1. その他:
  • daemonize: Redisをデーモンモードで実行するかどうかを指定します。
  • tcp-keepalive: クライアント接続のTCP Keep-Aliveを設定します。
   daemonize yes
   tcp-keepalive 300

これは基本的な設定の例です。redis.confには他にも様々な設定があります。Redisのバージョンや特定の使用ケースによっては新しい設定が追加されることもあります。設定の詳細や最新の情報については、Redisの公式ドキュメントを参照してください。

ファイル一覧

下記のファイルを新規作成もしくは修正をします。

        modified:   compose.yml
        new file:   redis/redis.conf

redis/redis.conf


loglevel debug

logfile ""

compose.yml

+    volumes:
+      - "./redis/redis.conf:/etc/redis/redis.conf"
+    command: "/etc/redis/redis.conf"

動作確認

下記のコマンドを実行します。

make build
make up
make log

下記のような結果になっていれば成功です。

% make log
cd ./ \
        && docker compose logs
redis            | 1:C 16 Jan 2024 15:37:44.213 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
redis-commander  | Creating custom redis-commander config '/redis-commander/config/local-production.json'.
redis-commander  | Parsing 1 REDIS_HOSTS into custom redis-commander config '/redis-commander/config/local-production.json'.
redis-commander  | node ./bin/redis-commander  
redis            | 1:C 16 Jan 2024 15:37:44.213 * Redis version=7.2.4, bits=64, commit=00000000, modified=0, pid=1, just started
redis            | 1:C 16 Jan 2024 15:37:44.213 * Configuration loaded
redis            | 1:M 16 Jan 2024 15:37:44.213 * monotonic clock: POSIX clock_gettime
redis            | 1:M 16 Jan 2024 15:37:44.213 * Running mode=standalone, port=6379.
redis            | 1:M 16 Jan 2024 15:37:44.213 * Server initialized
redis            | 1:M 16 Jan 2024 15:37:44.213 . The AOF directory appendonlydir doesn't exist
redis            | 1:M 16 Jan 2024 15:37:44.213 * Ready to accept connections tcp
redis            | 1:M 16 Jan 2024 15:37:44.215 . 0 clients connected (0 replicas), 898744 bytes in use

設定値の取得

下記のコマンドを実行します。

make up

make login

redis-cli 

config get *

下記のような結果になります。

367) "client-query-buffer-limit"
368) "1073741824"
369) "acl-pubsub-default"
370) "resetchannels"
371) "active-defrag-ignore-bytes"
372) "104857600"
373) "repl-ping-replica-period"
374) "10"
375) "aof-use-rdb-preamble"
376) "yes"
377) "tls-dh-params-file"
378) ""
379) "set-max-listpack-entries"
380) "128"
381) "databases"
382) "16"
383) "slowlog-log-slower-than"
384) "10000"
385) "aof-timestamp-enabled"
386) "no"
387) "proc-title-template"
388) "{title} {listen-addr} {server-mode}"
389) "latency-tracking"
390) "yes"
127.0.0.1:6379>

おわりに

今日は、Dockerで構築したRedis環境でredis.confを設定する方法についてご紹介しました。

よっしー
よっしー

何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。

それでは、また明日お会いしましょう(^^)

コメント

タイトルとURLをコピーしました