Можно ли безопасно очистить любой из cache_ *?

14

Иногда при перемещении базы данных она может быть слишком большой. Можно ли очистить любую из таблиц с префиксом cache_ без проблем?

WestieUK
источник
2
До сих пор я не сталкивался с какими-либо проблемами, усекая эти таблицы.
GoodSp33d

Ответы:

14

Да, с одним исключением. Это исключение cache_form. На самом деле это не кеш-таблица, а временная информация $ form_state о формах, отображаемых на вашем сайте. Очистка этой таблицы приведет к аннулированию этих форм, и когда пользователь затем попытается отправить эту форму, он получит сообщение об ошибке и должен снова заполнить эту форму.

Обратите внимание, что drush sql-dumpи Backup, и Migrate автоматически пропускают содержимое этих и других таблиц при создании дампа базы данных с ними вместо mysqldump или phpmyadmin.

Berdir
источник
drush sql-dump на самом деле включает в себя таблицу «cache_form».
наслаждайтесь
@remote: я не хотел подразумевать иное (хотя я и не знал, что он явно хранит cache_form). Не стесняйтесь редактировать (или предлагать редактирование), если вы считаете, что мой ответ вводит в заблуждение.
Бердир
4

В этом списке есть «ложный друг». cache_form не является таблицей кеша, и ее очистка аннулирует все активные на данный момент формы сайта.

Я также не вижу причины, по которой вы бы использовали phpmyadmin для этого. Это неуклюже и подвержено ошибкам. "drush cc all" - твой друг :)

Боян Живанович
источник
3

Назначение кеш-таблиц - хранить вычисленные значения. Когда модуль вызывает cache_get () и возвращает пустое значение, он просто выполняет код, чтобы получить обратно кэшированные значения.
Все известные мне модули автоматически выполняют код, чтобы получить значение, которое они ожидали в кеше, если кеш пуст; очистка кэша не создает проблем для модулей, использующих его.

киамлалуно
источник
3

Я делал это много раз и не нашел никаких проблем с этим.

Важное замечание - попробуйте очистить все таблицы кеша одновременно. Это предотвратит использование Drupal неверных данных кэша.

j2r
источник
У меня есть очень важные данные в этих таблицах, вы уверены на 120%? ;)
Мохаммед Али Акбари
Да, но для ваших очень важных данных, пожалуйста, сначала сделайте резервную копию. :)
J2R
2
@MohammadAliAkbari Если у вас есть важные данные, тогда они действительно должны храниться где-то еще, а также в кеш-таблицах ...
Chapabu
@ j2r, я тоже, я делал это несколько раз. Нет проблем. +1
Ситху
@Chapabu Я имею в виду, что сайт важен, я не хранил никаких важных данных сам
Мохаммед Али Акбари