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等) を設定しています。
- 外部ネット (Internet) には公開されておらず、Docker 内部ネットワーク
WordPress との連携
WordPress 側では、Redis と通信するためのクライアントプラグインまたは wp-config.php の設定が必要です。 本プロジェクトでは、WordPress コンテナ起動時に環境変数を読み込み、Redis ホストとして redis コンテナを指定しています。