ホームページ >バックエンド開発 >PHPチュートリアル >PhpFastCache と Nginx の統合と最適化

PhpFastCache と Nginx の統合と最適化

WBOY
WBOYオリジナル
2023-07-09 16:06:10716ブラウズ

PhpFastCache と Nginx の統合と最適化

はじめに:
現代の Web アプリケーション開発では、Web サイトのパフォーマンスを効率的に運用することが重要な役割を果たします。 PhpFastCache は PHP キャッシュ システムであり、Nginx は高性能 Web サーバーです。 PhpFastCache と Nginx を組み合わせると、Web サイトのパフォーマンスと応答速度が大幅に向上します。この記事では、PhpFastCache を Nginx と統合および最適化する方法を紹介し、コード例を添付します。

1. PhpFastCache の概要
PhpFastCache は、小さなデータをファイルまたはメモリに保存できる高速でシンプルなキャッシュ システムであり、データの読み取りと書き込みの速度を大幅に向上させます。 PhpFastCache を通じて、データベース クエリの結果、API リクエストの応答、その他のデータをメモリにキャッシュして、データベースやインターフェイスへの頻繁なアクセスを回避し、Web サイトの応答速度を向上させることができます。

2. Nginx 構成

  1. Nginx キャッシュを有効にする
    Nginx 構成ファイルで、location ブロックを見つけて、次のコードを追加します:

    location / {
        # 开启缓存
        proxy_cache_cachezone;
        proxy_cache_bypass $http_cache_control;
        proxy_no_cache $http_pragma $http_authorization;
        proxy_cache_valid 200 302 10m;
        proxy_cache_valid 404 1m;
        proxy_cache_key "$host$request_uri";
    }

    上記コードのproxy_cache_cachezoneはNginxのキャッシュ領域名であり、実際の状況に応じて調整可能です。 proxy_cache_valid はキャッシュの有効時間を指定します。実際のニーズに応じて調整できます。

  2. キャッシュ ゾーンの構成
    Nginx 構成ファイルを開き、http ブロックを見つけて、次のコードを追加します。

    proxy_cache_path /path/to/cache_zone levels=1:2 keys_zone=cache_zone:10m max_size=10g inactive=60m;

    上記のコードでは、/path/ to/cache_zone キャッシュファイルの格納パスは、levels=1:2でキャッシュファイルの格納方法、keys_zoneでキャッシュ領域の名前とサイズ、max_sizeでキャッシュファイルの最大サイズ、inactiveで指定します。キャッシュ ファイルの有効期限。

3. PhpFastCache の使用

  1. PhpFastCache のインストール
    Composer を使用して PhpFastCache をインストールします:

    composer require phpfastcache/phpfastcache
  2. PhpFastCache を使用してデータをキャッシュする

    <?php
    require_once __DIR__ . '/vendor/autoload.php';
    
    use PhpfastcacheHelperPsr16Adapter;
    
    // 创建缓存实例
    $cache = new Psr16Adapter('Files');
    
    // 从缓存中读取数据
    $data = $cache->get('cache_key');
    
    if ($data === null) {
        // 如果缓存中没有数据,则从数据库等来源获取数据
        $data = getDataFromDatabase();
    
        // 将数据缓存起来
        $cache->set('cache_key', $data, 3600); // 缓存有效期为1小时
    }
    
    // 使用数据进行业务逻辑处理
    processCachedData($data);
    
    ?>

    上記のコードでは、Psr16Adapter は PhpFastCache のアダプターであり、「Files」はキャッシュ データをファイルに保存することを指定します。必要に応じて、Memcached、Redis などの他のアダプターを選択できます。

4. PhpFastCache と Nginx の統合例

  1. Nginx 設定ファイルの書き込み
    Nginx 設定ファイルで、location ブロックを見つけて追加します。次のコード:

    location /cachedata {
        # 开启缓存
        proxy_cache cache_zone;
        proxy_cache_valid 200 302 10m;
        proxy_cache_valid 404 1m;
        proxy_cache_key "$host$request_uri";
    
        # 指定请求转发给后端的PHP服务器
        proxy_pass http://php_server;
    }

    上記のコードでは、/cachedata はキャッシュする必要があるアドレス パスです。

  2. PHP スクリプトの作成

    <?php
    require_once __DIR__ . '/vendor/autoload.php';
    
    use PhpfastcacheHelperPsr16Adapter;
    
    $cache = new Psr16Adapter('Files');
    
    // 从缓存中读取数据
    $data = $cache->get('cache_key');
    
    if ($data === null) {
        // 如果缓存中没有数据,则从数据库等来源获取数据
        $data = getDataFromDatabase();
    
        // 将数据缓存起来
        $cache->set('cache_key', $data, 3600); // 缓存有效期为1小时
    }
    
    echo $data;
    ?>

    上記のコードでは、/vendor/autoload.php は Composer によって生成された自動読み込みファイルです。

5. 概要
PhpFastCache と Nginx を統合することで、キャッシュ システムを使用して Web サイトの応答速度とパフォーマンスを向上させることができます。同時実行性が高い場合、PhpFastCache はデータをキャッシュしてデータベースと API への負荷を軽減し、Nginx のキャッシュ機能は静的リソースへのアクセスを高速化します。合理的な構成と使用により、Web サイトのパフォーマンスとユーザー エクスペリエンスをさらに向上させることができます。

コードサンプルコースガイドは、実際の状況に応じて変更および最適化できます。この記事が、PhpFastCache と Nginx の統合と最適化において、何らかの助けとインスピレーションを提供できれば幸いです。仕上げる###

以上がPhpFastCache と Nginx の統合と最適化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。