Redis の紹介: WordPress のパフォーマンスとスケーラビリティの向上
公開: 2023-07-19WordPress サイトのパフォーマンスとスケーラビリティを大幅に向上させたいと考えていますか? キャッシュ環境に革命をもたらしている高度なキー/値データベース サーバーである Redis をご紹介します。 Redis は、超高速のパフォーマンスと比類のないスケーラビリティを備えており、読み取り、書き込み、またはユーザー負荷の要件が重いアプリケーションにとって理想的なソリューションです。
この記事では、Redis の世界を詳しく説明し、WordPress で Redis を構成する方法を説明します。 小規模なキャッシュを探している場合でも、画像やスタイルシートなどの静的コンテンツ用の本格的なキャッシュ バックエンド ソリューションを探している場合でも、Redis が対応します。
ユースケースのシナリオ
あなたが WordPress で構築されたオンライン ニュース ポータルの所有者であると想像してください。 Web サイトには毎日何十万人もの訪問者が訪れ、重要なイベントやニュース速報の際にはトラフィックが急増します。 その結果、データベース サーバーの負荷が高くなり、Web サイトのページの読み込み時間が遅くなります。 ページの読み込み速度は SEO にとって重要な要素であるため、この問題は訪問者をイライラさせるだけでなく、SEO ランキングにも悪影響を及ぼします。
あなたは、Web サイトのパフォーマンスとスケーラビリティを大幅に向上させるために、高度な Key-Value データベース サーバーである Redis を実装することにしました。
リディスとは何ですか?
Redis は、同じデータベースにデータを保存および取得するために使用できるオープンソース ツールであり、別のデータベースが必要なくなります。 これは、市場で最も人気のあるキャッシュ ソリューションの 1 つであるとも考えられています。 Redis は Lua と呼ばれるプログラミング言語を使用します。この言語は任意のオペレーティング システム上で動作し、必要に応じてその機能を拡張またはカスタマイズできます。
Redis の仕組み
Redis は、データベース、キャッシュ、メッセージ ブローカーとして機能するオープンソースのメモリ内データ構造ストアです。 高性能、シンプルさ、多用途性を考慮して設計されているため、多くのアプリケーションで人気があります。
インメモリデータストレージ
Redis は主にデータをメモリに保存するため、非常に高速な読み取りおよび書き込み操作が可能になります。 データをメモリ内に保持することで、Redis はディスク I/O 操作を回避し、応答性を高めます。
Key-Value データモデル
Redis はキーと値のデータ モデルに従い、各データは一意のキーに関連付けられます。 これにより、関連付けられたキーに直接アクセスして、データを迅速に取得できます。
データの永続性
Redis はインメモリ データ ストアですが、データの永続化のためのオプションを提供します。 スナップショットをサポートしており、データセットをスナップショットとしてディスクに定期的に保存します。 Redis は、すべての書き込み操作をログに記録する追加専用ファイル (AOF) ログ メカニズムも提供し、システム障害が発生した場合のデータ回復を可能にします。
データ構造
Redis は、文字列、リスト、セット、ソートされたセット、ハッシュなどの豊富なデータ構造セットを提供します。 これらのデータ構造により、さまざまな種類のデータを効果的に保存および操作できるようになります。
コマンドと操作
Redis は、サポートされているデータ構造に対して操作を実行するための幅広いコマンドを提供します。 これらのコマンドを使用すると、データの保存、取得、更新、削除に加えて、さまざまな計算や変換を実行できます。
パブリッシュ/サブスクライブメッセージングシステム
Redis には、パブリッシュ/サブスクライブ メッセージング システムが含まれています。 クライアントは特定のチャネルにサブスクライブし、パブリッシャーがそのチャネルにメッセージを送信するたびにメッセージを受信できます。 この機能により、リアルタイム通信とイベント駆動型のアーキテクチャが可能になります。
レプリケーションとクラスタリング
Redis はレプリケーションをサポートしているため、Redis インスタンスの複数のコピー (レプリカ) を作成できます。 レプリケーションは高可用性と耐障害性を提供します。 Redis はクラスタリングも提供します。これにより、データを複数の Redis ノードに分散して、水平方向のスケーラビリティとパフォーマンスの向上を実現できます。
クライアント ライブラリと言語サポート
Redis は、さまざまなプログラミング言語のクライアント ライブラリを提供しており、Redis をアプリケーションに簡単に統合できます。 これらのライブラリは、Redis と対話し、その機能を利用するための便利な API を提供します。
キャッシュとパフォーマンスの最適化
Redis は、アプリケーションのパフォーマンスを向上させるためのキャッシュとしてよく使用されます。 頻繁にアクセスされるデータを Redis にキャッシュすることで、アプリケーションはデータベースなどのプライマリ データ ソースの負荷を軽減できます。 このキャッシュ メカニズムにより、応答時間とシステム全体のパフォーマンスが大幅に向上します。
WordPress の仕組み
WordPress は、Web サイトの作成と管理を簡素化する人気のコンテンツ管理システム (CMS) です。 WordPress を使用するには、WordPress を Web サーバーにインストールし、データベースをセットアップし、管理ダッシュボードにアクセスしてサイトをカスタマイズします。
さまざまなテーマから選択してデザインを制御したり、機能を追加するためのプラグインをインストールしたりできます。 WordPress は、投稿やページなど、さまざまなコンテンツ タイプをサポートしています。 アップデートやバックアップなどの定期的なメンテナンスにより、最適なパフォーマンスとセキュリティが保証されます。
WordPress で Redis をセットアップする理由
WordPress で Redis をセットアップすると、Web サイトのパフォーマンスとスケーラビリティにいくつかの利点がもたらされます。 WordPress で Redis の使用を検討する必要がある理由は次のとおりです。
パフォーマンスを向上させた
Redis をキャッシュとして使用すると、データベース クエリ、レンダリングされた HTML、オブジェクト データなど、頻繁にアクセスされるデータをメモリに保存できます。 これにより、データベースからデータを取得したり、高価な操作を実行したりする必要性が減り、ページの読み込み時間が短縮され、サイト全体のパフォーマンスが向上します。
データベース負荷の軽減
WordPress は、コンテンツ、設定、その他の情報を取得するためにデータベース クエリに大きく依存しています。 Redis でデータベース クエリをキャッシュすると、同じデータに対する後続のリクエストがメモリから直接処理され、データベース サーバーの負荷が軽減されます。 これは、トラフィックの多い Web サイトや、リソースに制約のあるデータベース サーバーを使用する Web サイトにとって特に有益です。
拡張性の向上
Redis は、WordPress サイトのスケーラビリティの向上に役立ちます。 データベース サーバーから Redis に負荷の一部をオフロードすることで、パフォーマンスを損なうことなく、より多くの同時ユーザーとトラフィックを処理できます。 これは、単一のデータベース サーバーがボトルネックになる可能性があるシナリオで特に役立ちます。
オブジェクトのキャッシュ
Redis は WordPress のオブジェクト キャッシュとして使用でき、頻繁にアクセスされる PHP オブジェクトやデータをメモリに保存できます。 これにより、複雑なクエリ、コストのかかる計算、およびコストのかかる関数呼び出しの実行が高速化され、サイトの応答性が向上します。
フルページキャッシュ
Redis は、WordPress のフルページ キャッシュにも使用できます。 Redis は、リクエストごとに各ページを動的に生成する代わりに、レンダリングされた HTML ページを保存し、ユーザーに直接提供できます。 これにより、サーバーの負荷が大幅に軽減され、静的コンテンツの応答時間が短縮されます。
要約すると、WordPress で Redis をセットアップすると、パフォーマンスが向上し、データベース負荷が軽減され、スケーラビリティが向上し、キャッシュ機能が向上します。 Redis のメモリ内ストレージと高速操作を活用することで、WordPress サイトの速度を最適化し、より多くのトラフィック量を処理し、より応答性の高いユーザー エクスペリエンスを提供できます。
CyberPanel への PHP Redis キャッシュのインストール
PHP Redis Cache デーモンは、クラウド ホスティング用のシンプルで高速なオープンソース コントロール パネルである CyberPanel を使用している場合、簡単にインストールできます。 サーバーに CyperPanel がまだインストールされていませんか? CyberPanel をサーバーに簡単にインストールできます。ここをクリックして方法を確認してください。
PHP サイトで Redis を使用する前に、CyberPanel でサイトを作成する必要があります。また、後で Redis PHP Cache 拡張機能をインストールするためにこのバージョンを使用するため、サイトの作成中に選択した PHP バージョンも必ずメモしてください。
新しいウェブサイトを作成する
CyberPanel では Web サイトの作成が非常に簡単なので、誰でも行うことができます。 Webサイトの作成はたったの4ステップ。
CyberPanel ダッシュボードにログインします
左側のメニューから「Webサイト」→「Webサイトの作成」をクリックします。
関連する情報をすべて入力し、ここにどの php を入力しているかを必ず書き留めてください。
「ウェブサイトを作成」をクリックします
CyberPanel に PHP Redis キャッシュをインストールする
CyberPanel への Redis のインストールは非常に簡単で、必要な手順はいくつかだけです。 それでは、それらを見てみましょう。
CyberPanel ダッシュボードにログインします
左側のメニューから「サービスの管理」→「アプリケーション」をクリックします。
「Redis」の前にある「インストール」をクリックします
Redis PHP 拡張機能をインストールする
Redis で PHP プログラミングを行う前に、上でインストールした Redis デーモンと通信する Redis PHP 拡張機能をインストールする必要があります。
Bitvise を使用して SSH にログインし、コマンド プロンプトを開きます
次のコマンドを入力し、Web サイトの作成時に選択した lsphp の後に php を必ず入力してください。
apt-get install lsphp74-redis -y
次に、 php を再起動して拡張機能の設定を読み取るコマンドを入力する必要があります。
killall lsphp
CyberPanel を使用してサイトのファイル マネージャーに移動します
public_htmlにファイル「redis.php」を作成します。
新しいファイルのコードミラーを開きます。 次のコードを入力し、「保存」をクリックします。
<?Php //Connecting to Redis server on localhost $redis = new Redis(); $redis->connect('127.0.0.1', 6379); echo "Connection to server successfully"; //store data in the Redis list $redis->lpush("tutorial-list", "Redis"); $redis->lpush("tutorial-list", "MongoDB"); $redis->lpush("tutorial-list", "Mysql"); // Get the stored data and print it $arList = $redis->lrange("tutorial-list", 0 ,5); echo "Stored string in redis:: "; print_r($arList); ?>
ブラウザで PHP ファイルを開くと、コードが Redis デーモンと通信していることがわかります。
SSHを開いてコマンドプロンプトに入り、次のコマンドを入力します。
Redis-CLI monitor
データが表示されます。 ブラウザで再度確認することもできます
インストール後の期待事項
Redis を実装すると、Web サイトのパフォーマンスが大幅に向上していることに気づくはずです。 ページの読み込み時間が短縮され、データベース サーバーの負荷が大幅に軽減されるはずです。 その結果、Web サイトはパフォーマンスを損なうことなく、より多くの同時ユーザーとトラフィックを処理できるようになります。
訪問者はスピードと応答性の向上に当然満足し、ページの読み込み時間が短縮されるため SEO ランキングも向上するはずです。 Redis は、WordPress サイトのパフォーマンスとスケーラビリティを効果的に強化します。
実際のデータの可能性
GTmetrix などのツールによって報告される、パフォーマンス統計で期待できる現実的な改善をいくつか示します。
ページの読み込み時間
Redis キャッシュ データベース クエリ、レンダリングされた HTML、および PHP オブジェクトを使用すると、ページの読み込み時間が短縮される可能性があります。 ページの読み込み時間が元々 5 秒だった場合、適切に実装された Redis セットアップにより、Web ページの複雑さとサイズに応じて、これが約 2 秒またはそれ以下に短縮される可能性があります。
合計ページサイズ
Redis 自体は、データ サイズを削減することよりも、データにどれだけ速くアクセスできるかが重要であるため、合計ページ サイズに直接影響を与えない可能性があります。 ただし、データ アクセスが高速になると、より効率的なデータの処理と読み込みが可能になり、間接的にページ サイズの最適化につながる可能性があります。 たとえば、オブジェクト キャッシュが適切に設定されている場合、再訪問者がサイトの一部をまったく読み込む必要がない場合があります。
リクエスト
特に再訪問者の場合、サーバーに対して行われるリクエストの数が減少する可能性があります。 訪問者ごとにデータベースに多数のリクエストを行う代わりに、キャッシュされたデータを Redis から直接提供できます。 これにより、リクエストの数が大幅に削減される可能性があります。
YSlow スコアと PageSpeed スコア
Redis は読み込み時間とリクエスト数を削減することで、YSlow スコアと PageSpeed スコアの向上に役立ちます。 元の YSlow スコアが 70% だった場合、Redis セットアップを適切に実装すると、これが約 80 ~ 90% に改善される可能性があります。 同様に、元の PageSpeed スコアが約 70% だった場合、Redis を実装すると、このスコアが約 85 ~ 90% に増加する可能性があります。
これらは単なる推定値であり、実際の結果は、元のサイトのパフォーマンス、サーバーの仕様、サイトの複雑さ、サイトのトラフィック、Redis の実装と構成の程度などのさまざまな要因によって異なる可能性があることに注意してください。
結論
結論として、WordPress で Redis を構成すると、Web サイトのパフォーマンスとスケーラビリティを大幅に向上させることができます。 Redis をキャッシュとして使用すると、頻繁にアクセスされるデータをメモリに保存できるため、データベースからデータを取得する必要が減り、ページの読み込み時間が短縮されます。 Redis はデータベース クエリ、PHP オブジェクト、さらにはレンダリングされた HTML ページ全体をキャッシュできるため、データベース サーバーの負荷が軽減され、サイト全体の応答性が向上します。
このチュートリアルの次の手順に従うことで、WordPress で Redis を正常に構成し、その機能を利用して Web サイトの速度、スケーラビリティ、応答性を向上させることができます。 Redis キャッシュを使用すると、ページの読み込みが高速になり、サーバー リソースがより効率的に使用されるというメリットを享受できます。
よくある質問
Redis とは何ですか? Redis は WordPress のパフォーマンスとスケーラビリティをどのように向上させますか?
Redis は、データベース、キャッシュ、メッセージ ブローカーとして機能できるオープンソースのメモリ内データ構造ストアです。 Redis を WordPress サイトのキャッシュとして使用すると、データベース クエリ、レンダリングされた HTML、オブジェクト データなど、頻繁にアクセスされるデータをメモリに保存できます。 これにより、データベースからデータを取得する必要性が減り、ページの読み込み時間が短縮され、サイトのパフォーマンスが向上します。 さらに、データベース サーバーの負荷の一部を Redis にオフロードすることで、WordPress サイトはより多くの同時ユーザーとトラフィックを処理できるようになり、スケーラビリティが向上します。
Redis は WordPress とどのように連携しますか?
Redis は、頻繁にアクセスされるデータをメモリ内のデータ ストアに保存することで WordPress と連携します。 このデータには、データベース クエリ、PHP オブジェクト、レンダリングされた HTML ページが含まれます。 ユーザーがページをリクエストすると、毎回データベースにクエリを実行したり、ページを動的にレンダリングしたりするのではなく、システムはキャッシュされたデータを Redis から取得します。 これにより、データベース サーバーの負荷が大幅に軽減され、ページの読み込み時間が短縮されます。
WordPress サイトで Redis をセットアップするにはどうすればよいですか?
WordPress で Redis をセットアップするには、サーバーへの Redis デーモンのインストール (CyberPanel などのホスティング コントロール パネルを使用して簡単に実行できます)、CyberPanel での新しい Web サイトの作成、選択した PHP の Redis PHP Cache 拡張機能のインストールなど、いくつかの手順が必要です。 SSH を使用してバージョンを更新し、Redis サーバーに接続するように WordPress サイトを構成します。
WordPress で Redis を使用する主な利点は何ですか?
Redis を WordPress と併用すると、次のような利点があります。
- パフォーマンスの向上: 頻繁にアクセスされるデータをキャッシュし、データベースからデータを取得する必要性を減らし、ページの読み込み時間の短縮につながります。
- データベース負荷の軽減: データベース クエリをキャッシュすることにより、データベース サーバーの負荷が軽減され、トラフィックの多い Web サイトにとって特に有益です。
- 強化されたスケーラビリティ: パフォーマンスを損なうことなく、より多くの同時ユーザーとトラフィックを処理できるため、WordPress サイトのスケーラビリティが向上します。
- キャッシュ機能: WordPress のオブジェクト キャッシュとフルページ キャッシュに使用でき、複雑なクエリの実行と静的コンテンツの配信を高速化します。
WordPress で Redis を使用することに欠点はありますか?
Redis はパフォーマンスにいくつかの利点をもたらしますが、潜在的な欠点がないわけではありません。 Redis では、サイトのパフォーマンスを効果的に向上させるために、慎重な構成と管理が必要です。 Redis はデータをメモリに保存します。メモリはディスク ストレージよりも高速ですが、揮発性も高くなります。 正しく構成されていない場合、システムのクラッシュや停電が発生した場合にデータが失われる可能性があります。 ただし、Redis はこれらのリスクを軽減するデータ永続化機能を提供します。 さらに、WordPress サイトに大量のトラフィックがない場合、またはデータベース集約型ではない場合、Redis 管理のさらなる複雑さを保証するほどパフォーマンスの向上は大きくない可能性があります。