Maison Opération et maintenance Nginx Configuration de la mise à jour du cache proxy Nginx pour répondre aux modifications du contenu du site Web en temps réel

Configuration de la mise à jour du cache proxy Nginx pour répondre aux modifications du contenu du site Web en temps réel

Jul 07, 2023 am 08:06 AM
nginx代理 缓存更新 实时响应

Configuration de la mise à jour du cache proxy Nginx, réponse en temps réel aux modifications du contenu du site Web

Introduction :
Avec le nombre croissant de visites de sites Web, comment améliorer les performances du site Web est devenu un problème important. Nginx est un serveur HTTP et un serveur proxy inverse hautes performances, et la mise en cache proxy en est une partie importante. Dans l'exploitation et la maintenance quotidiennes, il est souvent nécessaire de mettre à jour et de modifier le contenu du site Web tout en maintenant la vitesse de réponse lorsque les utilisateurs y accèdent. Cet article explique comment configurer la mise en cache proxy dans Nginx et lui permettre de répondre aux modifications du contenu du site Web en temps réel.

  1. Configuration du cache proxy de Nginx
    Dans le fichier de configuration Nginx, nous devons ajouter la configuration suivante pour activer la mise en cache proxy :

    http {
      proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m;
    
      server {
     listen       80;
     server_name  example.com;
    
     location / {
       proxy_pass        http://backend_server;
       proxy_cache       my_cache;
       proxy_cache_key   $scheme$host$request_uri;
       proxy_cache_valid 200 304 12h;
       proxy_cache_use_stale updating;
       proxy_ignore_headers Cache-Control;
     }
      }
    }
    Copier après la connexion

    Dans la configuration ci-dessus, proxy_cache_path spécifie le chemin de stockage du cache fichier et paramètres associés. levels=1:2 représente la profondeur du chemin du cache, keys_zone est le nom du cache et la taille limite, max_size est la taille maximale du cache, inactive est le temps d'inactivité du cache. proxy_cache_path指定了缓存文件的存储路径和相关参数。levels=1:2表示缓存路径的层次深度,keys_zone为缓存名称和大小限制,max_size为缓存的最大大小,inactive为缓存的不活跃时间。

在server段中的location部分,proxy_pass指定了后端服务的地址,proxy_cache指定了使用的缓存名称,proxy_cache_key定义了缓存的键值,proxy_cache_valid设定了响应码为200和304的请求的有效期,proxy_cache_use_stale指定了当更新缓存时是否使用旧的缓存内容,proxy_ignore_headers设置了忽略的HTTP头。

  1. 使用Nginx的proxy_cache_bypass指令实时更新缓存
    Nginx提供了proxy_cache_bypass指令,可以用于实时更新缓存。我们可以在后端服务响应时,通过设置相应的HTTP头来触发缓存更新。以下是一个示例:

    import requests
    
    def update_cache(url):
     headers = {
         'X-Cache-Bypass': '1',
     }
     response = requests.get(url, headers=headers)
     return response.text
    Copier après la connexion

    在上述示例代码中,通过设置X-Cache-Bypass头为1,我们可以告诉Nginx在代理缓存中绕过缓存,从而实时获取最新的内容。

  2. 自动触发缓存更新
    除了手动触发缓存更新,我们还可以通过使用定时任务或者Webhook来自动触发缓存的更新。以下是一个使用Python的Web框架Flask和Celery的示例代码:

    from flask import Flask, request
    from celery import Celery
    
    app = Flask(__name__)
    celery = Celery(app.name, broker='redis://localhost:6379/0')
    
    @app.route('/update_cache', methods=['POST'])
    def update_cache():
     url = request.form.get('url')
     result = celery.send_task('tasks.update_cache', args=[url])
     return 'Task submitted'
    
    @celery.task
    def update_cache(url):
     headers = {
         'X-Cache-Bypass': '1',
     }
     response = requests.get(url, headers=headers)
     return response.text
    
    if __name__ == '__main__':
     app.run()
    Copier après la connexion

    上述示例中,我们使用Flask创建了一个简单的接口/update_cache

Dans la partie localisation du segment du serveur, proxy_pass précise l'adresse du service backend, proxy_cache précise le nom du cache utilisé, proxy_cache_key Définit la valeur de la clé de cache, proxy_cache_valid définit la période de validité des requêtes avec les codes de réponse 200 et 304, proxy_cache_use_stale précise s'il faut utiliser l'ancien contenu du cache lors de la mise à jour du cache, proxy_ignore_headers définit les en-têtes HTTP ignorés.


    Utilisez la directive proxy_cache_bypass de Nginx pour mettre à jour le cache en temps réel

    Nginx fournit la directive proxy_cache_bypass, qui peut être utilisée pour mettre à jour le cache en temps réel. Nous pouvons déclencher des mises à jour du cache en définissant l'en-tête HTTP correspondant lorsque le service backend répond. Voici un exemple :

    rrreee🎜Dans l'exemple de code ci-dessus, en définissant l'en-tête X-Cache-Bypass sur 1, nous pouvons dire à Nginx de contourner le cache dans le cache proxy et ainsi d'obtenir la dernière version. contenu en temps réel. 🎜🎜🎜🎜Déclencher automatiquement les mises à jour du cache🎜En plus de déclencher manuellement les mises à jour du cache, nous pouvons également déclencher automatiquement les mises à jour du cache à l'aide de tâches planifiées ou de Webhooks. Voici un exemple de code utilisant le framework Web Flask et Celery de Python : 🎜rrreee🎜Dans l'exemple ci-dessus, nous avons utilisé Flask pour créer une interface simple /update_cache pour déclencher des mises à jour du cache via des requêtes POST. Après avoir reçu la demande, nous utilisons Celery pour effectuer de manière asynchrone la tâche de mise à jour du cache et renvoyer les résultats correspondants. 🎜🎜🎜🎜Conclusion : 🎜Grâce à la configuration et à l'exemple de code ci-dessus, nous pouvons configurer la mise en cache proxy dans Nginx et répondre aux modifications du contenu du site Web en temps réel. Cela améliore les performances du site tout en permettant des mises à jour et des modifications rapides du contenu du site. 🎜🎜Bien sûr, dans les applications réelles, des facteurs tels que la stratégie d'invalidation du cache, la haute disponibilité et la sécurité peuvent également devoir être pris en compte. Lors de la configuration détaillée, des ajustements doivent être effectués en fonction des besoins réels. J'espère que cet article sera utile pour apprendre et comprendre la configuration de la mise à jour du cache proxy Nginx. 🎜

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Application de Redis au développement C# : comment obtenir des mises à jour de cache efficaces Application de Redis au développement C# : comment obtenir des mises à jour de cache efficaces Jul 30, 2023 am 09:46 AM

Application de Redis au développement C# : Comment obtenir des mises à jour de cache efficaces Introduction : Dans le développement Web, la mise en cache est l'un des moyens courants d'améliorer les performances du système. En tant que système de stockage clé-valeur hautes performances, Redis peut fournir des opérations de mise en cache rapides, ce qui apporte beaucoup de commodité à nos applications. Cet article explique comment utiliser Redis dans le développement C# pour obtenir des mises à jour de cache efficaces. Installation et configuration de Redis Avant de commencer, nous devons installer Redis et le configurer en conséquence. tu peux

Configuration de la mise à jour du cache proxy Nginx pour répondre aux modifications du contenu du site Web en temps réel Configuration de la mise à jour du cache proxy Nginx pour répondre aux modifications du contenu du site Web en temps réel Jul 07, 2023 am 08:06 AM

Configuration de la mise à jour du cache proxy Nginx, réponse en temps réel aux modifications du contenu du site Web Introduction : Avec l'augmentation continue des visites de sites Web, comment améliorer les performances du site Web est devenu un problème important. Nginx est un serveur HTTP et un serveur proxy inverse hautes performances, et la mise en cache proxy en est une partie importante. Dans l'exploitation et la maintenance quotidiennes, il est souvent nécessaire de mettre à jour et de modifier le contenu du site Web tout en maintenant la vitesse de réponse lorsque les utilisateurs y accèdent. Cet article explique comment configurer la mise en cache proxy dans Nginx et lui permettre de répondre au site Web en temps réel.

Comment résoudre les problèmes de mise en cache des requêtes et de mise à jour du cache des requêtes réseau simultanées en langage Go ? Comment résoudre les problèmes de mise en cache des requêtes et de mise à jour du cache des requêtes réseau simultanées en langage Go ? Oct 08, 2023 pm 01:21 PM

Titre : Solution aux problèmes de mise en cache des demandes et de mise à jour du cache des requêtes réseau simultanées dans le langage Go Introduction : Dans le développement de programmes modernes, les requêtes réseau sont des opérations très courantes et les requêtes simultanées sont la clé pour améliorer les performances du programme et la vitesse de réponse. Cependant, dans les requêtes réseau simultanées, des problèmes tels que des requêtes répétées et des données incohérentes sont souvent rencontrés. Cet article explique comment résoudre ces problèmes dans le langage Go en utilisant la mise en cache des requêtes et la mise à jour du cache, et fournit des exemples de code spécifiques. 1. La mise en cache des requêtes utilise le langage sync.MapGo

Stratégies de statique de page et de mise à jour du cache dans le système PHP Flash Kill Stratégies de statique de page et de mise à jour du cache dans le système PHP Flash Kill Sep 19, 2023 am 10:37 AM

Stratégies de statique de page et de mise à jour du cache dans le système de vente flash PHP Avec le développement rapide d'Internet et l'augmentation continue du nombre d'utilisateurs, les activités de vente flash deviennent de plus en plus populaires sur les plateformes de commerce électronique. Cependant, un grand nombre d'utilisateurs accédant simultanément à la page de vente flash exercera une énorme pression de charge sur le serveur, provoquant des pannes du système ou des temps de réponse longs. Afin de résoudre ce problème, la statique des pages et la mise à jour du cache sont devenues des stratégies d'optimisation courantes dans le système de vente flash PHP. Cet article explique comment appliquer des stratégies de statique de page et de mise à jour du cache dans le système de vente flash PHP pour améliorer les performances et la disponibilité du système.

Comment implémenter la mise en cache multiniveau basée sur les autorisations et les mises à jour du cache dans Laravel Comment implémenter la mise en cache multiniveau basée sur les autorisations et les mises à jour du cache dans Laravel Nov 04, 2023 pm 01:44 PM

Comment implémenter la mise en cache multiniveau basée sur les autorisations et les mises à jour du cache dans Laravel Introduction : Dans les grandes applications, la mise en cache est l'une des stratégies clés pour améliorer les performances et réduire la charge de la base de données. Pour les applications basées sur les autorisations, nous devons nous assurer que lorsque les autorisations et les rôles des utilisateurs changent, le cache correspondant peut être mis à jour à temps. Cet article présentera comment implémenter la mise en cache multiniveau basée sur les autorisations dans le framework Laravel, ainsi que des solutions pour les mises à jour du cache. 1. Le concept de mise en cache multi-niveaux fait référence à la configuration de plusieurs niveaux dans le système de cache.

Comment configurer le serveur proxy Nginx pour obtenir un équilibrage de charge entre plusieurs serveurs ? Comment configurer le serveur proxy Nginx pour obtenir un équilibrage de charge entre plusieurs serveurs ? Sep 05, 2023 am 08:30 AM

Comment configurer le serveur proxy Nginx pour obtenir un équilibrage de charge entre plusieurs serveurs ? Introduction : Dans les applications Internet modernes, l'équilibrage de charge du serveur est l'un des facteurs importants pour garantir la haute disponibilité, les performances et l'évolutivité des applications. Nginx est un serveur proxy open source hautes performances doté d'une puissante fonction d'équilibrage de charge. Cet article explique comment utiliser le serveur proxy Nginx pour réaliser l'équilibrage de charge et fournit des exemples de code pertinents. Étape 1 : Installer Nginx Tout d’abord, nous devons installer Nginx. Peut être passé avec

Comment optimiser le mécanisme de mise à jour du cache via les fonctions php ? Comment optimiser le mécanisme de mise à jour du cache via les fonctions php ? Oct 05, 2023 am 09:01 AM

Comment optimiser le mécanisme de mise à jour du cache via les fonctions php ? La mise en cache est un élément important de l’amélioration des performances du site Web. Dans le développement PHP, nous utilisons souvent le cache pour réduire la charge sur la base de données et le serveur et améliorer la vitesse d'accès du site Web. Cependant, lors du processus de mise en cache, nous sommes également confrontés au problème de cohérence entre le cache et les données, notamment lorsque les données sont mises à jour. Afin de maintenir la cohérence du cache et des données, nous pouvons résoudre ce problème en optimisant le mécanisme de mise à jour du cache. Cet article présentera comment optimiser le mécanisme de mise à jour du cache via les fonctions PHP et fournira des

Comment configurer le serveur proxy Nginx à l'aide de conteneurs Docker pour chiffrer les services Web ? Comment configurer le serveur proxy Nginx à l'aide de conteneurs Docker pour chiffrer les services Web ? Sep 06, 2023 am 08:48 AM

Comment configurer le serveur proxy Nginx pour chiffrer les services Web à l'aide de conteneurs Docker Dans le monde Internet d'aujourd'hui, la protection de la sécurité des services Web est devenue de plus en plus importante. Afin de protéger les données sensibles contre le vol ou la falsification pendant la transmission, il est devenu courant d'utiliser le protocole HTTPS pour chiffrer les services Web. Cet article explique comment utiliser les conteneurs Docker pour configurer le serveur proxy Nginx afin d'implémenter le chiffrement des services Web. Docker est une plateforme de conteneurisation open source qui aide les développeurs à simplifier les applications

See all articles