nginx met JS en cache pendant une heure. Comment mettre à jour le cache ?
天蓬老师
天蓬老师 2017-05-16 17:24:48
0
8
865

nginx met JS en cache pendant une heure, comme suit

    location ~ .*\.(js|css)?$ {
        expires      1h;
    }

OK, ce n'est pas un problème. Je souhaite actualiser le cache temporairement. Au pire, je peux simplement ajouter un suffixe, par exemple : abc.js?v=123

.

Maintenant que je l'ai débogué en ligne, je souhaite supprimer le suffixe et restaurer abc.js?v=123还原到abc.js dans abc.js, mais il est toujours en cache pour le moment. Comment puis-je le casser ?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

répondre à tous(8)
習慣沉默

Votre règle ci-dessus ajoute simplement une règle d'expiration à l'en-tête
Dites au navigateur que cette chose expire dans 1 heure
Ce n'est pas que nginx le met en cache

黄舟

Ce cache fait référence au cache de votre navigateur (client, pas nginx). Dans des circonstances normales, Ctrl+Rl'actualisation forcée supprimera le cache.
Ou videz le cache de votre navigateur et tout ira bien.

过去多啦不再A梦
  1. Conserver le suffixe
  2. Changer le nom du fichier
漂亮男人

Vous n'utilisez pas de module de nettoyage par purge ?

仅有的幸福

grunt-rev

Utilisez la tâche rev avec yeoman/grunt-usemin pour contourner le cache des fichiers statiques dans votre application. Cela leur permet d'être mis en cache pour toujours par le navigateur.

De cette façon, les paramètres d'en-tête nginx n'expireront jamais.

刘奇

En utilisant la meilleure solution frontale de l'hémisphère oriental - fis, nous disposons d'un ensemble de solutions dédié.
fis

仅有的幸福

http://labs.frickle.com/nginx_ngx_cache_purge/README

http {
    proxy_cache_path  /tmp/cache  keys_zone=tmpcache:10m;

    server {
        location / {
            proxy_pass         http://127.0.0.1:8000;
            proxy_cache        tmpcache;
            proxy_cache_key    $uri$is_args$args;
        }

        location ~ /purge(/.*) {
            allow              127.0.0.1;
            deny               all;
            proxy_cache_purge  tmpcache $is_args$args;
        }
    }
}

Visitez 127.0.0.1/purge/abc.js pour supprimer les fichiers mis en cache.
Ajoutez le paramètre --add-module=/path/to/ngx_cache_purge lors de la configuration pour ajouter ce module de purge tiers.

过去多啦不再A梦

Similaire à expires max-age e-tagCes informations d'en-tête sont des en-têtes de cache pour les navigateurs frontaux. Par exemple, si vous définissez simplement une expiration d'une heure, le navigateur ne demandera plus le fichier une heure après la fin de la demande pour communiquer avec le serveur. , les fichiers de cache local sont utilisés à chaque fois. Durant cette heure, seul le navigateur efface le cache ou désactive le cache dans les outils de développement pour communiquer avec le serveur. Dans le cas contraire, toute modification apportée au fichier sur le serveur pendant cette heure n'aura aucun impact sur le navigateur.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal