PHP と Redis を使用してキャッシュ プロキシ サーバーを構築する方法
キャッシュは、システムのパフォーマンスを効果的に向上させるテクノロジです。 Web 開発では、キャッシュ プロキシ サーバーを使用するのが一般的な最適化方法です。この記事では、PHP と Redis を使用してキャッシュ プロキシ サーバーを構築する方法をコード例とともに紹介します。
まず、サーバーに Redis をインストールする必要があります。次のコマンドを使用してインストールできます:
sudo apt-get install redis-server
インストールが完了したら、Redis でいくつかの構成を実行する必要があります。 /etc/redis/redis.conf
ファイルを編集して、次の 2 つの構成項目を変更できます。
bind 127.0.0.1 maxmemory 128mb
bind
構成項目を次の IP アドレスに変更します。サーバー、および maxmemory
構成項目を適切な値に変更します (サーバーのメモリに応じて)。
次に、キャッシュ プロキシ サーバーの機能を実装するための PHP コードを記述します。まず ProxyServer.php
ファイルを作成し、次のコードを追加します。
<?php $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $cacheKey = md5($_SERVER['REQUEST_URI']); $cachedResponse = $redis->get($cacheKey); if ($cachedResponse) { echo $cachedResponse; } else { // Your original logic here // Get the response from the upstream server $response = get_response_from_upstream_server(); // Store the response in Redis with a TTL of 1 hour $redis->setex($cacheKey, 3600, $response); echo $response; } ?>
上記のコードでは、最初に Redis PHP 拡張機能を使用して Redis サーバーに接続します。次に、現在リクエストされている URL に基づいて一意のキャッシュ キー $cacheKey
を計算します。次に、キャッシュされた応答を Redis から取得しようとします。キャッシュされた応答が存在する場合は、キャッシュされた応答が直接返されます。存在しない場合は、カスタム ロジックが実行され、上流サーバーから応答が取得され、応答が Redis に保存され、有効期限が設定されます。時間は1時間までです。
上記のコードの get_response_from_upstream_server()
は、上流サーバーにリクエストを送信し、レスポンスを取得するロジック実装を作成できるカスタム メソッドであることに注意してください。
最後に、Web サーバー (Nginx や Apache など) の構成ファイルを変更して、作成したキャッシュ プロキシ サーバーにリクエストを転送します。 。
たとえば、Nginx では、nginx.conf
ファイルまたは対応する仮想ホスト構成ファイルに次のコードを追加できます。
server { listen 80; server_name example.com; location / { proxy_pass http://127.0.0.1:8080; } }
上記のコードでは、 proxy_pass
ディレクティブは、アドレスが http://127.0.0.1:8080
であるキャッシュ プロキシ サーバーにリクエストを転送します。
上記の手順を完了すると、ブラウザで関連する URL にアクセスしてテストできます。初回訪問時はキャッシュプロキシサーバーが上流サーバーからレスポンスを取得してRedisに保存し、2回目以降はRedisから直接レスポンスを取得して返すため、アクセス速度が向上します。
概要
この記事では、PHP と Redis を使用してキャッシュ プロキシ サーバーを構築する方法を紹介します。キャッシュプロキシサーバーを使用すると、システムのパフォーマンスと応答速度が大幅に向上します。この記事がお役に立てば幸いです。
参考リンク:
以上がPHP と REDIS を使用してキャッシュ プロキシ サーバーを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。