Skip to content

Redis (Object Cache)

概要

Redis (Remote Dictionary Server) は、インメモリデータ構造ストアであり、WordPress のオブジェクトキャッシュとして機能します。 データベース (MariaDB) へのクエリ結果をメモリ上にキャッシュすることで、ページの生成速度を向上させ、データベースの負荷を軽減します。

構成

Dockerfile 解析 (srcs/requirements/bonus/redis/Dockerfile)

dockerfile
FROM debian:bullseye

RUN apt-get update && apt-get install -y \
    redis-server \
    && rm -rf /var/lib/apt/lists/*

# Config Setup & User Config
COPY tools/entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh

EXPOSE 6379

ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
# 保護モード無効化 (Dockerネットワーク内での利用を想定)
CMD ["redis-server", "--protected-mode", "no"]

役割と設定

  • ポート: 6379 (コンテナ間通信のみ)
  • 設定: protected-mode no
    • 外部ネット (Internet) には公開されておらず、Docker 内部ネットワーク inception からのみアクセス可能であるため、バインディングIP制限などを緩和しています。
    • entrypoint.sh にて redis.conf を調整し、メモリ管理ポリシー (maxmemory-policy allkeys-lru 等) を設定しています。

WordPress との連携

WordPress 側では、Redis と通信するためのクライアントプラグインまたは wp-config.php の設定が必要です。 本プロジェクトでは、WordPress コンテナ起動時に環境変数を読み込み、Redis ホストとして redis コンテナを指定しています。

参考資料

Released under the MIT License.