En utilisant le système de cache standard de Drupal, existe-t-il un moyen de vider le cache d'un nœud ou d'une URL sans vider tout le cache (ce qui ralentit tout le site)?
Les actions du cache du module offrent un contrôle très fin sur l'effacement du cache.
Malheureusement, la résolution de votre problème dépend de la façon dont cette URL particulière est créée. Dans le cas où il ne fait pas exactement ce que vous voulez, sa base de code serait toujours un excellent début pour construire plus exactement ce dont vous avez besoin.
Oui, vous pouvez également le faire par programme.
Dans cet exemple, nous effaçons le cache de la première page:
$url = url('<front>', array('absolute' => TRUE));
cache_clear_all($url, 'cache_page');
Drupal stocke les chemins en tant que CID dans le tableau et dans l'exemple ci-dessus, nous fournissons l'URL de première page en tant que CID comme premier argument dans la fonction et si vous définissez le CID, il est obligatoire de définir le deuxième argument $ bin dans la fonction, qui est comme de quelle table vous voulez supprimer le cache. Comme nous devons supprimer une seule page, elle est donc présente dans cache_page qui contient le cache des pages.
Il existe un module pour cela: Vider le cache des pages . Voici une citation à ce sujet (à partir de la page du projet du module):
Soulager la douleur lorsque vous devez vider ... le cache de Drupal.
Vider le cache de Drupal sur un grand site peut donner l'impression que vous attendez le décollage sur le tarmac de JFK. Le retard vient du fait que lorsque vous effacez le cache de Drupal, il efface tout. La plupart du temps, vous souhaitez simplement vider le cache pour un objet spécifique sur une page.
Le module «Vider le cache de page» résout ce problème en vidant uniquement les objets mis en cache pour une seule page. De plus, vous pouvez définir des objets personnalisés et des tables de cache à effacer sur des pages spécifiques.
Une autre option serait de créer un formulaire et d'utiliser la fonction cache_clear_all sur l'url dont vous souhaitez vider le cache. J'ai trouvé un exemple d'utilisation ici
Un peu tard pour la fête ici, mais le module Cache Expire est probablement ce que vous recherchez. Il vous donne un contrôle très précis sur la façon dont la mise en cache est utilisée pour plusieurs types d'entités (si vous utilisez la version 2.x du module).
L'une ou l'autre version du module vous donne cependant accès à une action de règle "Effacer les URL du cache de pages" . Ainsi, vous pouvez spécifier les événements et les conditions nécessaires au déclenchement de la règle, puis les URL que vous spécifiez seront effacées. J'espère que cela t'aides.
le nettoyage du cache peut être fait simplement en téléchargeant le module drush depuis http://drupal.org/project/drush
terminal->your drupal directory
écrire la commande drush cc
Cela vous rendrait avec
[0]: Annuler
[1]: tout
[2]: drush
[3]: thème-registre [4]: menu
[5]: css-js
[6]: bloc
[7]: module-list
[8]: liste de thèmes
[9]: registre
[10]: vues
Ainsi, vous pouvez sélectionner la chose que vous souhaitez effacer.
Si vous souhaitez effacer le cache du site Web drupal, vous pouvez installer et activer le module http://drupal.org/project/admin_menu Il fournit une icône d'accueil sur votre fichier drupal et vous donnerait une liste de menus où vous pourriez aller pour les trucs de cache clair ....
drush cc views
par exemple où les vues peuvent être de n'importe quel type dans cette liste.