Cancella un singolo URL dalla cache


9

Utilizzando il sistema di cache standard di Drupal, c'è un modo per cancellare la cache di un nodo o di un URL senza cancellare l'intera cache (che rallenta l'intero sito)?

Risposte:


6

Le azioni della cache del modulo forniscono un controllo molto preciso sull'eliminazione della cache.

Sfortunatamente, se risolverà il tuo esatto problema dipende da come viene creato questo particolare URL. Nel caso in cui non faccia esattamente quello che vuoi, la sua base di codice sarebbe comunque un ottimo inizio per costruire più esattamente ciò di cui hai bisogno.


6

Sì, puoi farlo anche a livello di codice.

In questo esempio cancelliamo la cache della prima pagina:

$url = url('<front>',  array('absolute' => TRUE));

cache_clear_all($url, 'cache_page');

Drupal memorizza i percorsi come CID nella tabella e nell'esempio precedente forniamo l'URL della prima pagina come CID come primo argomento nella funzione e se si definisce il CID, è obbligatorio definire il secondo argomento $ bin nella funzione, che è come da quale tabella si desidera eliminare la cache. Come dobbiamo eliminare una singola pagina, quindi il suo presente in cache_page che contiene cache per le pagine.


3

Esiste un modulo per questo: svuota la cache della pagina . Ecco una citazione al riguardo (dalla pagina del progetto del modulo):

Allevia il dolore quando hai bisogno di svuotare ... La cache di Drupal.

Svuotare la cache di Drupal su un sito di grandi dimensioni può sembrare che stai aspettando di decollare sull'asfalto di JFK. Il ritardo deriva dal fatto che quando si cancella la cache di Drupal, cancella tutto. Il più delle volte vuoi solo svuotare la cache per un oggetto specifico su una pagina.

Il modulo "Svuota cache pagine" risolve questo problema scaricando solo gli oggetti memorizzati nella cache per una singola pagina. Inoltre, è possibile definire oggetti personalizzati e tabelle cache da cancellare su pagine specifiche.



0

Un po 'tardi alla festa qui, ma, il modulo Cache Expire è probabilmente quello che stai cercando. Ti dà un controllo molto preciso su come viene utilizzata la memorizzazione nella cache per più tipi di entità (se usi la versione 2.x del modulo).

Entrambe le versioni del modulo consentono tuttavia di accedere a un'azione Regola "Cancella URL dalla cache della pagina" . Pertanto, è possibile specificare tutti gli eventi e le condizioni necessari per l'attivazione della regola, quindi gli URL specificati verranno cancellati. Spero che sia di aiuto.


-1

la pulizia della cache può essere eseguita semplicemente scaricando il modulo drush da http://drupal.org/project/drush

terminal->your drupal directory

scrivi il comando drush cc

Ti ritornerebbe con

[0]: Annulla
[1]: all
[2]: drush
[3]: theme-register [4]: ​​menu
[5]: css-js
[6]: block
[7]: module-list
[8]: lista dei temi
[9]: registro
[10]: visualizzazioni

Quindi puoi selezionare quale cosa vuoi cancellare ...

Se vuoi cancellare la cache dal sito Web di Drupal, puoi installare e abilitare il modulo http://drupal.org/project/admin_menu Fornisce un'icona home sul tuo sile di Drupal e ti darebbe un elenco di menu dove puoi andare per roba chiara cache ....


1
Sta chiedendo un meccanismo di cache personalizzato avanzato
Codium,

Puoi fare drush cc viewsad esempio dove le viste possono essere di qualsiasi tipo in quell'elenco.
Yzmir Ramirez,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.