Uso BOA per i miei siti, ma per impostazione predefinita BOA disabilita semplicemente la memorizzazione nella cache del front-end per l'invio di moduli. Al di là della mia esperienza reale, mi sono imbattuto in un artificiale di un anno su come la New Zealand Post affronta Drupal & Varnish e la questione dei token di forma. Santo John Wayne, è assolutamente da leggere per la memorizzazione nella cache di Drupal, davvero. Concentrandosi solo sulla questione del modulo:
L'ultimo pezzo del nostro puzzle è il modulo Advanced Cache Bypass Advanced , che imposta automaticamente uno speciale cookie NO_CACHE ogni volta che l'utente invia un modulo POST sul sito, inclusi elementi come il modulo di accesso. La nostra vernice è configurata per bypassare la cache della pagina (ma non la cache ESI) quando vede questo cookie.
Puoi anche disabilitare i token del modulo quando la produzione XSRF non è richiesta con in form_alter (unset ($ form ['# token']);) o ($ form ['# token'] = FALSE;)
Un articolo di performance di Acquia Drupal pubblica un modulo Drupal Authcache , ma leggendo il documento su Authcache, risolve la memorizzazione nella cache con un segnaposto per il modulo (non memorizza nella cache il modulo):
Authcache tenta di intercettare qualsiasi contenuto personalizzato e impostare un segnaposto all'interno dell'HTML. Quindi, dopo aver caricato la pagina, viene utilizzato un callback Ajax per recuperare dati personalizzati e compilare i segnaposto, aggiornando dinamicamente l'HTML della pagina.
Segnaposti di Authcache correnti: token modulo (solo utenti connessi; richiesto da> Drupal per prevenire attacchi di falsificazione di richieste tra siti)
La strategia è, cache tutto tranne il modulo . Quindi, affrontando tutto il resto: forse Varnish non viene usato affatto, Memcache e Redis? La mia strategia sarebbe quella di utilizzare ciò che offre BOA perché io uso BOA e i maghi dietro di esso ( omega8.cc ) ne sanno molto di più di me. Non penso che ci sia una cache esterna che risolva il problema. Sembrano tutti aggirare il modulo.
Fare il caching parziale con l'authcache di cui sopra e con vista finemente ottimizzato e pannelli, come indicato nell'articolo NZ Post e descritta dalla fiducia cervello alla Wunderkraut - il suo vecchio, ma affronta il problema.
Usa il modulo Drupal ESI e Varnish è parzialmente conforme ESI):
ESI - o Edge Side Includes - è una soluzione di memorizzazione nella cache ad alte prestazioni per utenti autenticati ma può essere utile anche per utenti anonimi.
In genere, le pagine personalizzate per gli utenti autenticati (anche le personalizzazioni minori, come un blocco che dice "Accesso eseguito come manarth") impediranno ai proxy inversi (che possono facilmente eseguire 100 volte più velocemente di Drupal) di memorizzare nella cache la cache, poiché i messaggi destinato a un utente potrebbe quindi essere visto da un altro.
Spero sia più utile.