Algum do cache_ * pode ser esvaziado com segurança?

15

Às vezes, ao mover o banco de dados, ele pode ser muito grande. Qualquer uma das tabelas prefixadas "cache_" pode ser esvaziada sem causar problemas?

WestieUK
fonte
2
Até agora, não encontrei nenhum problema ao truncar essas tabelas.
GoodSp33d 20/12/12

Respostas:

15

Com uma exceção, sim. Essa exceção é cache_form. Na verdade, não é uma tabela de cache, mas contém informações temporárias $ form_state dos formulários atualmente exibidos no seu site. Limpar essa tabela invalidaria esses formulários e, quando um usuário tentar enviá-lo, ele receberá uma mensagem de erro e precisará preenchê-lo novamente.

Note-se que drush sql-dumpe backup e migrar automaticamente deixar o conteúdo dessas e outras tabelas ao criar um despejo de banco de dados com estes em vez de mysqldump ou phpmyadmin.

Berdir
fonte
drush sql-dump na verdade inclui a tabela 'cache_form'.
cjoy
@remote: Eu não quis sugerir o contrário (embora eu não sabia que ele mantém explicitamente o cache_form). Sinta-se livre para editar (ou sugerir uma edição) se você acha que minha resposta é enganosa.
Berdir
5

Há um "amigo falso" nessa lista. cache_form não é uma tabela de cache e o seu esvaziamento invalidará todos os formulários ativos no site naquele momento.

Também não vejo uma razão pela qual você usaria o phpmyadmin para isso. É desajeitado e propenso a erros. "drush cc all" é seu amigo :)

Bojan Zivanovic
fonte
4

O objetivo das tabelas de cache é manter os valores calculados. Quando um módulo chama cache_get () e retorna um valor vazio, ele apenas executa o código para recuperar os valores em cache.
Todos os módulos que conheço executam automaticamente o código para obter o valor esperado no cache, se o cache estiver vazio; esvaziar o cache não causa nenhum problema aos módulos que o utilizam.

kiamlaluno
fonte
4

Já o fiz muitas vezes e não encontrei nenhum problema ao fazê-lo.

Aviso importante - tente limpar todas as tabelas de cache de uma só vez. Isso impedirá que o Drupal use dados de cache inválidos.

j2r
fonte
Eu tenho dados muito importantes nessas tabelas, você tem 120% de certeza? ;)
Mohammad Ali Akbari
Sim, mas para seus dados muito importantes, faça primeiro o backup. :)
j2r 20/12/12
2
@MohammadAliAkbari Se você tiver dados importantes, então ele deve realmente ser armazenados em outro lugar, bem como as tabelas de cache ...
Chapabu
@ j2r, eu também já fiz isso várias vezes. Sem problemas. +1
Sithu
@Chapabu Quero dizer, o site é importante, eu também não guardei dados importantes #
Mohammad Ali Akbari