「永続オブジェクトキャッシュを使用してください」の対応手順(Redis・Valkey)

Linux
Linux
スポンサーリンク

WordPress のサイトヘルスに「永続オブジェクトキャッシュを使用してください」と表示されることがあります。この項目は推奨事項のため、必ずしも対応する必要はありませんが、今回はオープンソースのインメモリデータストアである Redis(レディス)または Valkey(ヴァルキー)を利用して対応してみました。本記事では、その手順を備忘録としてまとめます。

前提

本手順を行うには、サーバーへ SSH でログインでき、root 権限を持っていることが前提となります。また、サーバーOSは、AlmaLinux や Rocky Linux など、RHELクローン系の環境を想定しています。

レンタルサーバーなど root 権限が付与されない環境では、「APCu Manager」というプラグインを利用するのが手軽なようです。

永続オブジェクトキャッシュが必要な理由

WordPress はページ表示のたびにデータベースへ多数のクエリを実行します。標準のオブジェクトキャッシュはリクエスト単位でのみ有効なため、次のアクセス時には同じクエリが再び実行されます。Redis や Valkey などの永続オブジェクトキャッシュを導入すると、キャッシュをリクエスト間で共有できるため、データベース負荷の軽減やレスポンスタイムの改善が期待できます。特に、投稿数やユーザー数が多いサイト、autoload されたオプションデータが肥大化しているサイト、あるいはログインユーザー向けの動的処理が多いサイトでは、高い効果を得られる場合があります。

Redis・Valkey のインストール

RHELクローン系のサーバーOSでは、これまで Redisパッケージが標準リポジトリで提供されていました。しかし、RHELクローン系OSのバージョン10では、Redisのライセンス変更の影響により標準リポジトリから Redisパッケージが削除され、代わりにオープンソースのフォークである Valkey に置き換えられています。

まずはご自分がお使いのサーバーのバージョンを確認してください。

cat /etc/redhat-release
AlmaLinux release 10.2 (Lavender Lion) ←サーバーのバージョン

バージョン8または9の場合

サーバーOSがバージョン8または9の場合は、Redis をインストールします。

sudo dnf install redis

バージョン10の場合

サーバーOSがバージョン10の場合は、Valkey をインストールします。

sudo dnf install valkey

(補足)Valkey は Redis OSS 7.2.4 をフォークして作られており、Redis の API との後方互換性を維持しているため、既存の WordPress用 Redisプラグインをそのまま使用できます。

Redis・Valkey のセキュリティ設定

設定によっては、認証なしで外部から誰でも Redis・Valkey に接続でき、データの読み書きができてしまう可能性があります。Redis・Valkey を起動する前にセキュリティ設定を確認しておきましょう。

Redis・Valkey の設定ファイルは以下の場所にあります。

  • Redis:/etc/redis/redis.conf
  • Valkey:/etc/valkey/valkey.conf

bind:待ち受けアドレスの制限

デフォルトでは以下の設定により、ローカルホストからのみ接続が許可されます。同じサーバー上の WordPress の永続オブジェクトキャッシュの利用であれば、このままにしておくのが最も安全です。

# 127.0.0.1(ローカルホスト)からのみ受け付ける設定になっているか確認
bind 127.0.0.1 -::1

protected-mode:保護モード

bind が未設定またはワイルドカードに近い状態でも、パスワード未設定なら外部からの接続を拒否する安全装置です。ローカル(同じサーバー内)からの接続には影響しません。この設定は yes のまま変更しないでください。

# 外部からの未認証アクセスを防ぐため yes になっているか確認
protected-mode yes

Redis・Valkey の起動と自動起動設定

バージョン8または9の場合

Redis の起動、および自動起動するように設定します。

sudo systemctl start redis
sudo systemctl enable redis

動作していることを確認します。「PONG」と表示されていればOKです。

redis-cli ping
PONG

バージョン10の場合

Valkey の起動、および自動起動するように設定します。

sudo systemctl start valkey
sudo systemctl enable valkey

動作していることを確認します。「PONG」と表示されていればOKです。

valkey-cli ping
PONG

PHP の Redis モジュールのインストール

バージョン8または9の場合

標準リポジトリに、PHP の Redis モジュールがありませんので EPELリポジトリを導入してからインストールしてください。

sudo dnf install epel-release
sudo dnf install php-redis

Redis モジュールが正しくインストールされていることを確認します。(「redis」と表示されていればOKです)

php -m | grep redis
redis

バージョン10の場合

PHP の Redis モジュールをインストールします。(バージョン10の場合、EPELリポジトリは不要です)

sudo dnf install php-redis

Redis モジュールが正しくインストールされていることを確認します。(「redis」と表示されていればOKです)

php -m | grep redis
redis

Redis Object Cache のインストール

WordPress のプラグイン「Redis Object Cache」をインストールします。

「プラグイン」→「プラグインを追加」の画面で「Redis Object Cache」を検索してインストールし、有効化してください。

Redis Object Cache の設定画面に遷移しますので「Enable Object Cache」ボタンをクリックしてください。

Status が「Connected」になれば設定完了です。

おわりに

永続オブジェクトキャッシュは、特別な設定をほとんど必要とせず、比較的手軽に導入できます。WordPress サイトのパフォーマンス改善を検討している方は、導入を試してみてはいかがでしょうか。

この記事をシェアする
あぱーブログをフォローする
スポンサーリンク
スポンサーリンク

コメント

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