Parfois, lors du déplacement de la base de données, elle peut être trop volumineuse. Est-ce qu'une des tables préfixées "cache_" peut être vidée sans causer de problèmes?
Je n'ai rencontré aucun problème jusqu'à présent, en tronquant ces tableaux.
GoodSp33d
Réponses:
14
À une exception près, oui. Cette exception estcache_form . Ce n'est pas réellement une table de cache, mais contient des informations temporaires $ form_state des formulaires actuellement affichés sur votre site. Effacer ce tableau invaliderait ces formulaires et lorsqu'un utilisateur essaie ensuite de soumettre ce formulaire, il recevra un message d'erreur et devra remplir à nouveau ce formulaire.
Notez que drush sql-dumpet Backup and Migrate omettent automatiquement le contenu de ces tables et d'autres lorsque vous créez un vidage de base de données avec ceux-ci au lieu de mysqldump ou phpmyadmin.
drush sql-dump inclut en fait la table 'cache_form'.
cjoy
@remote: Je ne voulais pas impliquer le contraire (même si je ne savais pas qu'il gardait explicitement cache_form). N'hésitez pas à modifier (ou suggérer une modification) si vous pensez que ma réponse est trompeuse.
Berdir
4
Il y a un "faux ami" dans cette liste. cache_form n'est pas une table de cache, et la vider invalidera tous les formulaires actifs sur le site à ce moment.
Je ne vois pas non plus de raison pour laquelle vous utiliseriez phpmyadmin pour cela. Il est maladroit et sujet aux erreurs. "drush cc all" est votre ami :)
Le but des tables de cache est de conserver les valeurs calculées. Lorsqu'un module appelle cache_get () et qu'il récupère une valeur vide, il exécute simplement le code pour récupérer les valeurs mises en cache.
Tous les modules que je connais exécutent automatiquement le code pour obtenir la valeur qu'ils attendaient dans le cache, si le cache est vide; vider le cache ne pose aucun problème aux modules qui l'utilisent.
Réponses:
À une exception près, oui. Cette exception est
cache_form
. Ce n'est pas réellement une table de cache, mais contient des informations temporaires $ form_state des formulaires actuellement affichés sur votre site. Effacer ce tableau invaliderait ces formulaires et lorsqu'un utilisateur essaie ensuite de soumettre ce formulaire, il recevra un message d'erreur et devra remplir à nouveau ce formulaire.Notez que
drush sql-dump
et Backup and Migrate omettent automatiquement le contenu de ces tables et d'autres lorsque vous créez un vidage de base de données avec ceux-ci au lieu de mysqldump ou phpmyadmin.la source
Il y a un "faux ami" dans cette liste. cache_form n'est pas une table de cache, et la vider invalidera tous les formulaires actifs sur le site à ce moment.
Je ne vois pas non plus de raison pour laquelle vous utiliseriez phpmyadmin pour cela. Il est maladroit et sujet aux erreurs. "drush cc all" est votre ami :)
la source
Le but des tables de cache est de conserver les valeurs calculées. Lorsqu'un module appelle cache_get () et qu'il récupère une valeur vide, il exécute simplement le code pour récupérer les valeurs mises en cache.
Tous les modules que je connais exécutent automatiquement le code pour obtenir la valeur qu'ils attendaient dans le cache, si le cache est vide; vider le cache ne pose aucun problème aux modules qui l'utilisent.
la source
Je l'ai fait plusieurs fois et je n'ai trouvé aucun problème en le faisant.
Avis important - essayez d'effacer toutes les tables de cache en même temps. Cela empêchera Drupal d'utiliser des données de cache non valides.
la source