Maison  >  Article  >  développement back-end  >  Intégration et optimisation de PhpFastCache et Nginx

Intégration et optimisation de PhpFastCache et Nginx

WBOY
WBOYoriginal
2023-07-09 16:06:10622parcourir

Intégration et optimisation de PhpFastCache et Nginx

Introduction :
Dans le développement d'applications Web modernes, le fonctionnement efficace des performances du site Web est très important. PhpFastCache est un système de mise en cache PHP et Nginx est un serveur Web hautes performances. La combinaison de PhpFastCache et de Nginx peut considérablement améliorer les performances et la vitesse de réponse du site Web. Cet article expliquera comment intégrer et optimiser PhpFastCache avec Nginx et joindra des exemples de code.

1. Introduction à PhpFastCache
PhpFastCache est un système de mise en cache rapide et simple qui peut stocker de petites données dans des fichiers ou en mémoire, améliorant considérablement la vitesse de lecture et d'écriture des données. Grâce à PhpFastCache, les résultats des requêtes de base de données, les réponses aux requêtes API et d'autres données peuvent être mis en cache en mémoire pour éviter un accès fréquent à la base de données ou à l'interface et améliorer la vitesse de réponse du site Web.

2. Configuration Nginx

  1. Activer le cache Nginx
    Dans le fichier de configuration Nginx, recherchez le bloc d'emplacement et ajoutez le code suivant :

    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";
    }

    Dans le code ci-dessus, proxy_cache_cachezone est le nom de la zone de cache Nginx, qui peut être déterminé en fonction de la situation réelle. Faire des ajustements. proxy_cache_valid spécifie la durée de validité du cache, qui peut être ajustée en fonction des besoins réels.

  2. Configurez la zone de cache
    Ouvrez le fichier de configuration Nginx, recherchez le bloc http et ajoutez le code suivant :

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

    Dans le code ci-dessus, /path/to/cache_zone est le chemin de sauvegarde du fichier cache, et levels=1:2 est spécifié. La méthode de stockage des fichiers de cache. keys_zone spécifie le nom et la taille de la zone de cache, max_size spécifie la taille maximale du fichier de cache et inactive spécifie le délai d'expiration du fichier de cache.

3. Utilisation de PhpFastCache

  1. Installez PhpFastCache
    Utilisez Composer pour installer PhpFastCache :

    composer require phpfastcache/phpfastcache
  2. Utilisez PhpFastCache pour mettre les données en cache

    <?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);
    
    ?>

    Dans le code ci-dessus, Psr16Adapter est Php FastCache Pour l'adaptateur, 'Fichiers' est spécifié pour être mis en cache. Les données sont enregistrées dans des fichiers. Vous pouvez choisir d'autres adaptateurs selon vos besoins, tels que Memcached, Redis, etc.

4. Exemple d'intégration PhpFastCache et Nginx

  1. Écrivez le fichier de configuration Nginx
    Dans le fichier de configuration Nginx, recherchez le bloc d'emplacement et ajoutez le code suivant :

    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;
    }

    Dans le code ci-dessus, /cachedata est l'adresse qui doit être un chemin mis en cache.

  2. Écriture de scripts 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;
    ?>

    Dans le code ci-dessus, /vendor/autoload.php est le fichier de chargement automatique généré par Composer.

5. Résumé
En intégrant PhpFastCache et Nginx, vous pouvez utiliser le système de mise en cache pour améliorer la vitesse de réponse et les performances du site Web. Dans le cas d'une concurrence élevée, PhpFastCache met en cache les données pour réduire la pression sur la base de données et l'API, tandis que la fonction de mise en cache de Nginx accélère l'accès aux ressources statiques. Grâce à une configuration et une utilisation raisonnables, les performances et l’expérience utilisateur du site Web peuvent être encore améliorées.

Exemple de guide de cours de code, qui peut être modifié et optimisé en fonction de la situation réelle. J'espère que cet article pourra vous fournir de l'aide et de l'inspiration dans l'intégration et l'optimisation de PhpFastCache et Nginx. Fin

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn