Redisキャッシュ

Redisは、オープンソースのインメモリデータ構造ストアです。WordPressでは、WordPress独自のオブジェクトキャッシュにより生成された値を永続的に保存し、キャッシュされたオブジェクトをページ読み込み間に再利用できます。

Redisのような永続オブジェクトキャッシュを使用すると、MySQLデータベース同じオブジェクトに対して2回クエリを実行せずに、キャッシュされたオブジェクトを再利用できます。その結果、RedisはサイトのMySQLデータベースの負荷を軽減し、ウェブサイトの応答時間を短縮して、サイトの拡張性とトラフィック変動への対応能力を高めることができます。

Redisが有用になるウェブサイト

弊社プラットフォーム上のすべてのサイトにはページキャッシュが組み込まれています。ただし、ページキャッシュがあまり有用でないウェブサイトもあり、一部のECサイト、会員制サイト、フォーラムや掲示板、コメントが多数投稿されるブログなどの動的なサイトがこれに該当します。

ページキャッシングを使用できない高度に動的なサイトは、Redisなどの永続オブジェクトキャッシュが便利です。

なお、Redisは通常、静的なブログ、会社の情報サイト、ニュースサイトなどの読み込み時間を改善することはありません。

KinstaでサイトにRedisを追加する

弊社でホストしているサイトにRedisを追加する場合は、次の手順に従ってください。

  1. 弊社カスタマーサポートにチャットにてRedisの追加を依頼します。※お支払いに関するアクセス権を持つユーザー(企業の所有者、企業の管理者、および企業の経理係)のみがリクエスト可能です。
  2. 弊社エンジニアがお客様のサイトコンテナにRedisをインストールし、WP Redisをインストールします。経理部門がお客様のアカウントにRedisアドオンのサブスクリプションを追加します。※アドオンは1サイトあたり月額100ドルです。

注意事項

  • サイトにステージング環境と本番環境の両方があり、ステージング環境が不要になった場合は、削除してください。その後、本番サイトにRedisをインストールした後に再作成が可能です。ステージング環境を削除できない場合は、ステージング環境のコンテナに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ベースのインタラクションを実行することができます。

  1. RedisInsightをダウンロード、インストールして起動します。
  2. Add connection details manually」をクリックし、「Add database manually」を選択します。
  3. MyKinstaの各サイトの「情報」画面の「SFTP/SSH」セクションにある以下の情報を用いて、RedisInsightに接続します。
    • ホスト(IPアドレス)
    • ユーザー名(メールアドレスではなく、SFTPユーザー名)
    • パスワード
    • ポート(セキュリティを強化するため、弊社では各サイトに異なるポートを使用しています)
    SFTP/SSHの認証情報
    SFTP/SSHの認証情報
  4. RedisInsightで、「Use SSH Tunnel」を選択します。「Host」「Port」「Username」「Password」フィールドには、MyKinstaで取得した情報をそれぞれ貼り付けます。最後に「Add Redis Database」をクリックます。
    MyKinstaのSSH認証情報を入力してRedisInsightに接続
    MyKinstaのSSH認証情報を入力してRedisInsightに接続

Redisキャッシュのクリア

MyKinsta、WordPress管理画面、WP-CLI、またはSSHでキャッシュをクリアすることができます。

WordPress管理画面でキャッシュをクリアする

Kinsta MUプラグインがインストールされている場合、WordPressの管理画面でオブジェクトキャッシュ(およびその他のキャッシュ)をクリアすることができます。以下のいずれかの方法で実行してください。

  • WordPress管理画面の左サイドバーから「Kinsta Cache」を選択し、「Clear All Caches」ボタンをクリック。
  • WordPress管理画面のツールバーにある「Clear Cache」をクリック。

どちらの方法でも、エッジキャッシュおよびサイトキャッシュ(フルページキャッシュ)の両方がクリアされます。

WordPress管理画面からKinsta MUプラグインを使用してキャッシュをクリア
WordPress管理画面からKinsta MUプラグインを使用してキャッシュをクリア

MyKinstaでキャッシュをクリアする

MyKinstaにログインし、「WordPressサイト」>(サイト名)>「ツール」に移動します。

キャッシュをクリアする」をクリックすると、すべてのキャッシュがクリアされます。

  • MyKinstaでサイトキャッシュをクリアすると、Redisオブジェクトキャッシュもクリアされます。
  • エッジキャッシュをご利用の場合、MyKinstaでサイトキャッシュをクリアすると、エッジキャッシュもクリアされます。
MyKinstaのツール画面でキャッシュをクリア
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開発者に依頼することをお勧めします。

この記事は役に立ちましたか?