2011-10-10 16 views
5

Sto testando nginx come cache del proxy inverso con risorse REST (Spring MVC + ETag). Ogni GET è memorizzato nella cache ok.nginx - cancella cache su http PUT o POST

E 'possibile cancellare la cache di nginx per una risorsa specifica ogni volta che viene aggiornata tramite un PUT HTTP o un POST HTTP?

ps: sto anche testando la cache di vernice, ma ho lo stesso dubbio.

Grazie!

risposta

0

Non è stato specificato il tipo di memorizzazione nella cache che si sta implementando in quanto vi sono diverse opzioni in Nginx.

Dalla tua query, presumo che ti riferisci a file statici come immagini che vengono caricati sul tuo sito.

  1. Proxy Caching Questo è dove Nginx memorizza nella cache la risposta da un server back-end. Non ha senso attivarlo per i file statici in primo luogo. La cache del proxy è semplicemente un negozio sul tuo disco rigido e il costo del recupero di tali file è lo stesso se lasci che Nginx li serva da lì le posizioni reali sul filesystem.

  2. Cache di FastCGI Come cache di proxy. Nessun punto per il tipo di file che possono essere caricati usando POST o PUT.

  3. Memcache Qui, gli elementi sono memorizzati nella RAM e questo è un vantaggio. Vi sono i Memcache di base e i moduli Memc estesi, entrambi con procedure per l'aggiunta e la rimozione dalla cache.

Vostri criteri suggerisce tuttavia che si sta utilizzando uno dei precedenti due e, come detto, non c'è assolutamente alcun beneficio nel fare questo per il tipo di file che possono essere caricati usando POST o PUT. Quando vengono memorizzati nella cache in Nginx, verranno letti dalla posizione di un disco su cui verranno conservati esattamente come farebbero se si fa riferimento alla posizione del disco originale. C'è anche il sovraccarico di copiarli dalla posizione del disco originale in un'altra posizione del disco.

Tranne, naturalmente, se mi manca qualcosa.