WordPress で Redis キャッシュをセットアップおよび構成する方法

Rifat WordPressチュートリアル Sep 19, 2023

WordPress はオープンソースのコンテンツ管理システム (CMS) として機能し、Web スクリプト言語の習熟度を習得しなくてもコンテンツ管理を容易にします。テキスト、画像、ビデオを簡単に追加することで、インターネット上に Web サイトやブログを構築し、公開することができます。 WordPress の運用基盤は、PHP と MySQL データベースにあります。

WordPress を利用して Web サイトを構築するプロセスでは、コンテンツの属性と見た目の美しさを調整するためにテーマとプラグインを組み込むのが一般的です。これにより、SEO や分析などのサードパーティの拡張機能を含む補足コンポーネントを通じて、Web サイトの機能を段階的に強化することが容易になります。これらのテーマとプラグインの相互依存関係により、Web ページのコンテンツのホストとして機能する MySQL データベース内にリポジトリが見つかります。

対照的に、Redis はオープンソースのメモリ内データ構造リポジトリを構成し、キャッシュ システムとして機能する準備が整っています。このソフトウェアはバックグラウンド サービスとして動作し、システムのメモリ内でのデータのキャッシュと保持を容易にします。その結果、この戦略はサーバーの応答時間と Web サイト全体の速度の向上に貢献します。

今後発行される説明ガイドは、WordPress Web サイトまたはブログ内での Redis オブジェクト キャッシュの確立と構成に必要な知識を伝えるように設計されています。ただし、セットアップの詳細を詳しく調べる前に、WordPress と Redis の両方の運用メカニズムと、それらの共生利用の理論的根拠を検討する必要があります。

素晴らしいウェブサイトを作成します

最高の無料ページビルダーElementor を使用

今すぐ始める

Redis の仕組み

Web アプリケーションがサーバー上で動作し、その機能に MySQL などのデータベースを利用するシナリオを考えてみましょう。 Web アプリケーションでは、このデータベースから特定のレコードを取得する必要があります。このようなクエリの実行には、要求されたレコードを提供する際に顕著な時間の遅れが伴います。データ取得の待ち時間が 1 分を超えると、ユーザー エクスペリエンスが最適化されない可能性があることに注意してください。

ただし、Redis がそのようなデータ処理操作の速度と効率を向上させることを目的としたソリューションを提供していることは注目に値します。 Redis を利用すると、MySQL データベース クエリを通じて処理されたデータを専用の Redis キャッシュ インスタンス内に保存できる可能性があります。この戦略的なストレージにより、サーバーのメモリからデータを直接取得できるため、データベースに戻るルート全体をたどる必要がなくなります。

運用メカニズムでは、Web サーバーが Redis とインターフェースして、必要なデータが利用可能であることを確認します。したがって、後続のリクエストが以前のクエリ トランザクションを反映するインスタンスでは、オブジェクト キャッシュ内に常駐する Redis オブジェクトが介入してリクエストを満たすため、新たに MySQL サーバーと連携する必要がなくなります。

多数のユニットを含む大規模なフリートに代表される、広大な Web サーバーの配列を特徴とするインスタンスでは、単一の Redis キャッシュを統合することで、これらの Web サーバーから発せられるリクエストと応答を適切に集約できます。この構成により、各 Web サーバーが操作の各インスタンス中にデータベースへの全軌跡を開始するという要件が効果的に不要になります。

Redis を WordPress と統合する理由

WordPress Core インストール内で Redis Cache を有効にすると、クライアントへのコンテンツ配信が迅速化されるという利点が得られます。 WordPress では MySQL クエリ ルックアップが広範囲に使用されているため、トラフィックが多いインスタンスではパフォーマンスの低下が顕著になります。

このような状況では、Redis キャッシュが極めて重要な役割を担い、このシナリオに適切に対処します。メモリベースのキーと値のペアのデータベースとして機能する Redis は、対応するすべてのデータをメモリ内に保存し、WordPress に合わせた高速なサーバー側キャッシュ ソリューションを提供します。

WordPress データベースの利用を改善するために考案された手段である Redis オブジェクト キャッシュを確立します。この Redis オブジェクト キャッシュは、MySQL サーバーに向けられた特定のクエリから派生したキャッシュされた出力のリポジトリとして機能します。その結果、他のユーザーが同じ投稿や記事にアクセスすると、オブジェクト キャッシュがそのリクエストを即座に満たし、MySQL サーバーにクエリを実行する必要がなくなります。

したがって、WordPress MySQL データベースの繰り返しの呼び出しは、複雑なクエリのキャッシュによって軽減され、後続の同類のリクエストに対するキャッシュされた結果の配信が容易になります。この戦略により、MySQL サーバーへの追加の往復が回避され、サーバーの応答時間とサイト全体の速度が向上します。

タスクの事前要件

このガイドで概説されている手順を進めるには、リモート サーバー上でホストされている運用可能な WordPress Web サイトを所有することが不可欠です。この必要性の背後にある理論的根拠は、WordPress のサーバー側レンダリングの性質を考慮すると、パーソナル コンピューター上でローカルにホストされているサイトを最適化することは実現不可能であるという事実に由来しています。したがって、リモート サーバーで WordPress をホストすることが不可欠になり、これは Redis キャッシュの構成とサーバーの応答時間とサイト全体の速度の向上の前提条件となります。このチュートリアルの内容を効果的に進めるには、WordPress の使用方法の基礎を理解することが不可欠であることに注意することが最も重要です。

AWS EC2サーバーでWordPressをインストールする

この説明ガイドでは、アマゾン ウェブ サービス (AWS) プラットフォームを利用して WordPress のインストールを確立しました。以下に、構成プロセスの概要を説明する簡潔な手順を示します。最初に、アクティブな AWS アカウントを所有していることを確認することが不可欠です。この例では、無料利用枠のアカウントで十分であることは注目に値します。

AWS コンソールにアクセスし、Amazon Elastic Compute Cloud (EC2) サービスに移動すると、仮想インスタンスが起動されます。その後、AWS Marketplace の範囲内で、WordPress アプリケーションを熱心に検索します。現在の構成が引き続き無料枠カテゴリの対象であることを強調するのは適切です。したがって、Apache HTTP サーバー アーキテクチャ上で動作する、Bitnami パッケージ化された WordPress のイテレーションを選択してください。

適切な AWS インスタンス タイプを選択します。この特定のシナリオでは、無料利用枠の資格を満たす t2 マイクロ インスタンス タイプを選択します。続いて「起動の確認」ボタンに進み、確認したらインスタンスの起動を実行します。

新しいキー ペアを生成して、このサーバーとローカル コンピューターの間に安全な接続を確立します。このプロセスでダウンロードされたキー ペアがインスタンスを開始する前に保持されていることを確認してください。

AWS が初期化してインスタンスの起動を開始するまで、しばらくお待ちください。起動されたインスタンスに入るには、以下に示すように、提供された起動識別子をクリックするだけです。

インスタンスの動作ステータスと WordPress の設定が成功したことを確認すると、割り当てられた IP アドレスが明らかになります。最近開設された WordPress ブログにアクセスするには、指定されたパブリック IPv4 アドレスを Web ブラウザに入力するだけです。運用環境の場合は、ドメイン名を直接使用するだけで十分です。

PuTTYを使用したサーバーへのアクセス

まず、Windows プラットフォーム上でセキュア シェル (SSH) および Telnet 機能を容易にするオープンソース クライアントである PuTTY アプリケーションを入手します。取得後、コンピュータへのPuTTY のインストールに進みます。

PuTTY のインストールが成功したら、コンピュータのディレクトリ内で PuTTYgen ユーティリティを見つけ、起動を開始します。このフェーズでは、以前に生成されたキー ペアを公開/秘密キー ファイルに変換する必要があります。 PuTTYgen インターフェイス内で、指定されたキーをロードし、キー生成プロセスを開始し、生成された秘密キーを保存します。

これらの手順に続いて、PuTTY アプリケーションを開始し、適切なサーバーのホスト名またはドメイン名を入力します。インターフェースを介して「セッション」セクションに移動し、関連する IP アドレスまたはドメイン名を入力します (設定されている場合)。

さらに詳しい設定は、「接続」メニュー内、具体的には「SSH」サブセクションで、その後「認証」で行うことが保証されています。ここで、最近保存した SSH キーをロードする必要があります。設定が完了したら、「開く」オプションを選択することで接続を確立できます。

接続に成功すると、端末インターフェイスが表示されます。ログイン認証情報として「bitnami」を入力します。 「bitnami」が WordPress のインストール中に指定されるデフォルトのユーザー名であることに注目してください。ユーザー名の変更が実装されている場合は、それに応じて変更後のユーザー名を入力します。このターミナル インターフェイスは、追加のライブラリや拡張機能を導入して WordPress サーバーの機能を強化するための対話型プラットフォームを提供します。

ルートサーバーへの Redis の追加

WordPress が同じルート サーバー上で実行されるようになったので、Redis を追加する必要があります。これを行うには、ログインしたばかりの PuTTY ターミナルで次のコマンドを実行します。

sudo apt install redis

結果として、Redis がこの IP アドレスにインストールされます。 sudo systemctl restart redis.serviceを使用して再起動すると、すべてを設定できるようになります。実行して、Redis サーバーが起動して機能しているかどうかを確認してみましょう。

sudo systemctl status redis

Redis はサーバー上で適切に構成されています。 redis-clikeys *コマンドを実行すると、まだ Redis キャッシュ キーが登録されていないことがわかります。

すべての設定が完了したので、WordPress wp-adminに移動して Redis プラグインを追加する必要があります。その結果、以下に表示されているように、IP アドレスまたはドメイン名とwp-adminを入力するだけで済みます。

your-ip-address/wp-admin

AWS で実行中のインスタンスに移動し、右クリックして [監視とトラブルシューティング] を選択し、wp-admin のログイン情報を入力します。システムログをお願いします。 wp-admin にアクセスするには、デフォルトの Bitnami WordPress ログイン情報を受け取ります。そして、管理ダッシュボードに到達しました。

Redis を WordPress に追加する


Redis を構成する前に、 Query Monitor プラグインのインストールとアクティブ化を進める必要があります。

Query Monitor プラグインは、データベース クエリ、PHP エラー、フックとアクション、ブロック エディター内のブロック、キューに入れられたスクリプトとスタイルシート、HTTP API 呼び出しなど、さまざまな側面のデバッグを容易にします。さらに、個々のプラグインごとに整理されたデータベース クエリの包括的な数を表示する機能も提供します。

このプロセスを開始するには、Web サイトのホームページに移動し、Query Monitor メニューにアクセスします。

これを実行すると、Query Monitor ダッシュボードが起動します。

次に、この特定のページから取得したメトリクスに注目してください。特に、これは比較的単純な Web ページであり、わずか 0.0013 ミリ秒以内に実行されたデータベース クエリの累積数が 23 であることが観察できます。

この準備ステップが完了したら、新しいプラグインの導入に進みます。例として、「Redis」を検索し、特定の「 Redis Object Cache 」プラグインを選択します。

選択後、プラグインのインストールとアクティブ化に進みます。次に、ダッシュボード メニュー内の Redis 設定セクションに進みます。この時点で、オブジェクト キャッシュ機能を有効にすることが不可欠になります。

これらの手順に従うと、Redis はデフォルト設定を使用して構成されます。

検証

Web サイトの最適化のコンテキストでは、デフォルトの「hello world」WordPress ブログなど、Web サイト上のブログにアクセスすると、このリクエストの結果は Redis データストア内に保存されます。

次に、ターミナルに移動し、コマンド「 redis-cli 」と指定されたキー (* で示されている) を使用して Redis コマンド ライン インターフェイス (CLI) を起動します。この時点で、Redis が新しい WordPress (wp) キーを正式に記録していることがわかります。

この構成により、WordPress 環境内でキャッシュを目的とした Redis のセットアップが完了します。

効果を確認するには、Query Monitor を同時に使用しながら、最初にロードしたホームページの更新に進みます。

結果として観察された結果、注目に値する改善が明らかになりました。ページはわずか 3 つのデータベース クエリで読み込まれるようになり、それぞれのクエリは 0.0003 ミリ秒という非常に速い時間で完了します。この最適化により、データベース クエリの処理時間にかかる累積的な負担が大幅に軽減されました。前述のクエリはメモリに体系的に保存されるようになり、MySQL データベースへの直接呼び出しの頻度が削減されます。このオーケストレーションは総合的に、受信リクエストを処理する際のバックエンドの応答性の向上に貢献します。

まとめ

これは、woo-commerce のような大規模な Web サイトを管理する場合、Web サイトを高速化するために非常に重要です。さらに、データベースを大量に使用するプロセスをキャッシュすることで、Web サイトの回復力が高まります。

複数の人が注文を行っている場合でも、データを取得するためにキャッシュが使用されます。使用されるリソースが少なくなり、バックエンド エクスペリエンスが高速になります。

Redis はオブジェクトとデータベース クエリのみをキャッシュします。これは、 Cache EnablerWP Cloudflareなど、他のキャッシュ プラグインを使い続けてページをキャッシュし、Web サイトを高速化できることを意味します。

Divi WordPress Theme