Maison  >  Questions et réponses  >  le corps du texte

nginx met JS en cache pendant une heure. Comment mettre à jour le cache ?

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 ?

天蓬老师天蓬老师2713 Il y a quelques jours808

répondre à tous(8)je répondrai

  • 習慣沉默

    習慣沉默2017-05-16 17:26:48

    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

    répondre
    0
  • 黄舟

    黄舟2017-05-16 17:26:48

    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.

    répondre
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 17:26:48

    1. Conserver le suffixe
    2. Changer le nom du fichier

    répondre
    0
  • 漂亮男人

    漂亮男人2017-05-16 17:26:48

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

    répondre
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 17:26:48

    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.

    répondre
    0
  • 怪我咯

    怪我咯2017-05-16 17:26:48

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

    répondre
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 17:26:48

    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.

    répondre
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 17:26:48

    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.

    répondre
    0
  • Annulerrépondre