¿Se puede vaciar de forma segura cualquiera de cache_ *?

14

A veces, al mover la base de datos, puede ser demasiado grande. ¿Se puede vaciar alguna de las tablas prefijadas "caché_" sin causar problemas?

WestieUK
fuente
2
No he encontrado ningún problema hasta ahora, al truncar estas tablas.
GoodSp33d

Respuestas:

14

Con una excepción, sí. Esa excepción es cache_form. En realidad, esa no es una tabla de caché, pero contiene información temporal $ form_state de los formularios que se muestran actualmente en su sitio. Borrar esa tabla invalidaría estos formularios y cuando un usuario intente enviar ese formulario, recibirá un mensaje de error y tendrá que completar ese formulario nuevamente.

Tenga en cuenta que drush sql-dumpy Copia de seguridad y migración omiten automáticamente el contenido de estas y otras tablas al crear un volcado de base de datos con estas en lugar de mysqldump o phpmyadmin.

Berdir
fuente
drush sql-dump en realidad incluye la tabla 'cache_form'.
disfruta
@remote: no quise dar a entender lo contrario (aunque no sabía que mantiene explícitamente cache_form). Siéntase libre de editar (o sugerir una edición) si cree que mi respuesta es engañosa.
Berdir
4

Hay un "falso amigo" en esa lista. cache_form no es una tabla de caché, y vaciarla invalidará todos los formularios activos en el sitio en ese momento.

Tampoco veo una razón por la que usarías phpmyadmin para esto. Es torpe y propenso a errores. "drush cc all" es tu amigo :)

Bojan Zivanovic
fuente
3

El propósito de las tablas de caché es mantener los valores calculados. Cuando un módulo llama a cache_get () , y recupera un valor vacío, simplemente ejecuta el código para obtener los valores almacenados en caché.
Todos los módulos que conozco ejecutan automáticamente el código para obtener el valor que esperaban en el caché, si el caché está vacío; vaciar el caché no causa ningún problema a los módulos que lo usan.

kiamlaluno
fuente
3

Lo he hecho muchas veces y no he encontrado ningún problema al hacerlo.

Aviso importante: intente borrar todas las tablas de caché a la vez. Esto evitará que Drupal use datos de caché no válidos.

j2r
fuente
Tengo datos muy importantes en estas tablas, ¿estás seguro al 120%? ;)
Mohammad Ali Akbari
Sí, pero para sus datos muy importantes, primero haga una copia de seguridad. :)
j2r
2
@MohammadAliAkbari Si tiene datos importantes, entonces realmente debería almacenarse en otro lugar, así como en las tablas de caché ...
Chapabu
@ j2r, yo también, lo he hecho varias veces. No hay problema. +1
Sithu
@Chapabu Quiero decir que el sitio es importante, yo no almacené ningún dato importante
Mohammad Ali Akbari