Redisキャッシュ
Redisは、オープンソースのインメモリデータ構造ストアです。WordPressでは、WordPress独自のオブジェクトキャッシュにより生成された値を永続的に保存し、キャッシュされたオブジェクトをページ読み込み間に再利用できます。
Redisのような永続オブジェクトキャッシュを使用すると、MySQLデータベース同じオブジェクトに対して2回クエリを実行せずに、キャッシュされたオブジェクトを再利用できます。その結果、RedisはサイトのMySQLデータベースの負荷を軽減し、ウェブサイトの応答時間を短縮して、サイトの拡張性とトラフィック変動への対応能力を高めることができます。
Redisが有用になるウェブサイト
弊社プラットフォーム上のすべてのサイトにはページキャッシュが組み込まれています。ただし、ページキャッシュがあまり有用でないウェブサイトもあり、一部のECサイト、会員制サイト、フォーラムや掲示板、コメントが多数投稿されるブログなどの動的なサイトがこれに該当します。
ページキャッシングを使用できない高度に動的なサイトは、Redisなどの永続オブジェクトキャッシュが便利です。
なお、Redisは通常、静的なブログ、会社の情報サイト、ニュースサイトなどの読み込み時間を改善することはありません。
KinstaでサイトにRedisを追加する
WordPressサイトにRedisを追加する場合は、次の手順に従ってください。
- 「WordPressサイト」>(サイト名)>「キャッシュ」に移動し、「Redis」タブを開いて「変更する」をクリックします。
- ウィンドウに表示される価格の詳細を確認の上、「チャットを開く」をクリックし、サポートスタッフとのチャットにてRedisアドオンの設定を依頼します。※お支払いに関するアクセス権を持つユーザー(企業の所有者、企業の管理者、および企業の経理係)のみがリクエスト可能です。
- 弊社エンジニアがお客様のサイトコンテナにRedisをインストールし、WP Redisをインストールします。経理部門がお客様のアカウントにRedisアドオンのサブスクリプションを追加します。※アドオンは1サイトあたり月額100ドルです。
注意事項
- サイトにステージング環境と本番環境の両方があり、ステージング環境が不要になった場合は、削除してください。その後、本番サイトにRedisをインストールした後に再作成が可能です。ステージング環境を削除できない場合は、ステージング環境のコンテナにRedis(およびRedisプラグイン)を追加してください。この作業を行わない場合、次回ステージング環境の変更を本番環境に反映する際、本番環境のRedisが上書きされ、削除されてしまいます。
- Redisキャッシュの使用を中止する際も、カスタマーサポートとのチャットを開き、Redisキャッシュの削除、およびRedisキャッシュアドオンの停止を依頼してください。その時点でのお支払いサイクルの残りの日数に応じて、日割り計算でアカウント残高にクレジットが加算されます。
- WP RedisまたはRedis Object Cache以外のプラグインを使用している場合、弊社APMツールでRedisキャッシュの正しいデータが表示されないことがあります。これはRedisが機能していないというわけではなく、APMツールが他のプラグインからRedisのデータを収集して表示できない可能性があるためです。
WordPressサイトでRedisを使用する
Redisがインストールされ、プラグインでサイトに統合されると、バックグラウンドで動作します。
オブジェクトキャッシュを有効にした後は、サイトを徹底的にテストし、キャッシュされたオブジェクトが正常に再利用されているかを確かめるため、複数のユーザーアカウントでサイトの重要なプロセスを慎重に確認してください。
キャッシュされたオブジェクトが誤って使用されていることがわかった場合、wp_cache_add_non_persistent_groups関数を使用して、オブジェクトキャッシュからオブジェクトの特定のグループを除外することができます。オブジェクトキャッシュのパフォーマンス改善は、弊社によるRedisサポートの範囲外です。必要に応じて、WordPress開発者と協力して実施してください。
データベースをRedisInsightに接続する
RedisInsightを使用すると、データベースを可視化し、RedisでGUIおよびCLIベースのインタラクションを実行することができます。
- RedisInsightをダウンロード、インストールして起動します。
- 「Add connection details manually」をクリックし、「Add database manually」を選択します。
- MyKinstaの各サイトの「情報」画面の「SFTP/SSH」セクションにある以下の情報を用いて、RedisInsightに接続します。
- ホスト(IPアドレス)
- ユーザー名(メールアドレスではなく、SFTPユーザー名)
- パスワード
- ポート(セキュリティを強化するため、弊社では各サイトに異なるポートを使用しています)
- RedisInsightで、「Use SSH Tunnel」を選択します。「Host」「Port」「Username」「Password」フィールドには、MyKinstaで取得した情報をそれぞれ貼り付けます。最後に「Add Redis Database」をクリックます。
Redisキャッシュのクリア
MyKinsta、WordPress管理画面、WP-CLI、またはSSHでキャッシュをクリアすることができます。
WordPress管理画面でキャッシュをクリアする
Kinsta MUプラグインがインストールされている場合、WordPressの管理画面でオブジェクトキャッシュ(およびその他のキャッシュ)をクリアすることができます。以下のいずれかの方法で実行してください。
- WordPress管理画面の左サイドバーから「Kinsta Cache」を選択し、「Clear All Caches」ボタンをクリック。
- WordPress管理画面のツールバーにある「Clear Cache」をクリック。
どちらの方法でも、エッジキャッシュおよびサイトキャッシュ(フルページキャッシュ)の両方がクリアされます。
MyKinstaでキャッシュをクリアする
MyKinstaにログイン後、「WordPressサイト」>(サイト名)>「キャッシュ」に移動し、「サーバーキャッシュ」タブを開きます。
「キャッシュをクリアする」をクリックすると、すべてのキャッシュがクリアされます。
- MyKinstaでサイトキャッシュをクリアすると、Redisオブジェクトキャッシュもクリアされます。
- エッジキャッシュをご利用の場合、MyKinstaでサイトキャッシュをクリアすると、エッジキャッシュもクリアされます。
WP-CLIでキャッシュをクリアする
SSHでサーバーに接続し、サイトのドキュメントルートに移動します。
cd public
Kinsta MUプラグインがサイトにインストールされている場合、以下のコマンドでRedisオブジェクトキャッシュをクリアすることができます。
wp kinsta cache purge --object
すべてのキャッシュをクリアするには、--all
フラグを追加します。
wp kinsta cache purge --all
以下のコマンドでSSHを終了します。
quit
SSHでキャッシュをクリアする
SSHでサーバーに接続し、以下のコマンドでRedisのキャッシュをクリアします。
redis-cli flushall async
以下のコマンドでSSHを終了します。
quit
Redisに関するサポートの範囲
Redisに関する弊社のサポートの範囲は、サイトコンテナにRedisと必要な依存関係をインストールし、WordPressでRedisを使用できるようにすることに限定されます。Redisをサイトに統合し、特定のオブジェクトグループをキャッシュから除外することは、サポートの範囲外となりますことをご了承ください。サイトへのRedis統合にサポートが必要な場合は、Redisの統合に精通したWordPress開発者に依頼することをお勧めします。