Come abilitare e disabilitare la cache Nginx

Come abilitare e disabilitare la cache Nginx

Quando hai abilitato la memorizzazione nella cache in Nginx Plus, memorizza le risposte in un disco cache e queste vengono ulteriormente utilizzate per rispondere ai clienti senza detenere una richiesta proxy ogni volta con lo stesso contenuto. La memorizzazione nella cache di Nginx Plus ha più capacità in cui sono incluse le caratteristiche più utili, come lo spurgo della cache, la memorizzazione nella cache ritardata e la memorizzazione nella cache del contenuto dinamico.

In questo articolo, impareremo di più sulla memorizzazione nella cache, come come abilitare e disabilitare la memorizzazione nella cache in un server Nginx su un sistema Linux.

Come abilitare la memorizzazione nella cache?

Nel livello superiore del contesto HTTP , includi una direttiva il proxy_cache_path per abilitare la memorizzazione nella cache. Il primo parametro, che è il percorso del filesystem locale per il contenuto memorizzato nella cache e il parametro keys_zone che definisce le dimensioni e il nome della zona di memoria condivisa, sono obbligatori. L'ultimo parametro, Keys_zone, memorizza i metadati degli elementi memorizzati nella cache:

http
..
proxy_cache_path/data/nginx/cache keys_zone = one: 10m;

È necessario includere la direttiva Proxy_Cache per definire gli elementi come (tipo di protocollo e posizione o indirizzo del server virtuale) nel contesto HTTP. Attraverso il quale si desidera memorizzare le risposte al server, menzionare il nome della zona, che è definito da un parametro il keys_zone sulla direttiva proxy_cache_path (che è uno in questo caso):

http
..
proxy_cache_path/data/nginx/cache keys_zone = one: 10m;
server
proxy_cache mycache;
posizione /
proxy_pass http: // localhost: 8000;


Si noti che la quantità totale di risposta memorizzata nella cache non è influenzata dalla dimensione, che è definita nel parametro Keys_zone. Tutte le risposte memorizzate nella cache separatamente vengono salvate in file specifici con una copia dei metadati sul tuo filesystem. Tuttavia, se si desidera limitare l'importo dei dati di risposta memorizzato in memoria totale, è possibile includere il parametro max_size alla direttiva in proxy_cache_path.

Come limitare o disabilitare la memorizzazione nella cache?

Tutte le risposte rimangono memorizzate nella cache indefinitamente. Queste risposte vengono rimosse solo quando supera la dimensione massima definita e il tempo di lunghezza dall'ultima volta sono stati richiesti. Ma puoi impostare in base ai mezzi di comodità per quanto tempo queste risposte memorizzate nella cache sono considerate valide o anche se vengono utilizzate da diverse direttive nel server , http o nel contesto della posizione . Tuttavia, per limitare le risposte memorizzate nella cache considerate valide, è necessario includere una direttiva con il nome proxy_cache_valid.

Definiamo il concetto di limitazione della cache con un esempio. Nell'esempio seguente, le risposte del codice 200 o 302 sono considerate valide per 10 minuti e 404 risposte sono valide fino a 1 minuto.

proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;

Quindi, puoi anche definire la validità delle risposte al tempo memorizzata nella cache per con tutti i codici di stato per definire un parametro "qualsiasi" che puoi anche vedere nella riga di codice in basso:

proxy_cache_valid qualsiasi 5m;

Esistono alcune condizioni in base alle quali Nginx non invia risposte memorizzate nella cache ai client, quindi includi una direttiva proxy_cache_bypass. Ogni parametro nell'esempio seguente definisce le condizioni e ha una serie di variabili. Se almeno un parametro non è uguale a zero '0' o non vuoto allora, Nginx non trova la risposta nella cache e richiede immediatamente in avanti al server backend.

proxy_cache_bypass $ cookie_nocache $ arg_nocache $ arg_comment;

Nella condizione in cui si desidera che Nginx non cache una risposta. Quindi, includerai la direttiva Proxy_No_Cache e definirai tutti i seguenti parametri:

proxy_no_cache $ http_pragma $ http_authorization;

Conclusione

La memorizzazione nella cache fornisce più funzionalità in un server Nginx. Abbiamo anche esplorato in questo articolo come possiamo abilitare o disabilitare la memorizzazione nella cache, comprese tutte le direttive e i parametri. Per esplorare di più, puoi ottenere più aiuto dalle risorse online. Spero che l'articolo di cache di cui sopra sia informativo per te.