Kann einer der cache_ * sicher geleert werden?

15

Manchmal ist die Datenbank beim Verschieben zu groß. Können Tabellen mit dem Präfix "cache_" problemlos geleert werden?

WestieUK
quelle
2
Ich habe bisher keine Probleme festgestellt, indem ich diese Tabellen abgeschnitten habe.
GoodSp33d

Antworten:

15

Mit einer Ausnahme ja. Diese Ausnahme ist cache_form. Dies ist eigentlich keine Cache-Tabelle, sondern enthält temporäre $ form_state-Informationen zu Formularen, die derzeit auf Ihrer Site angezeigt werden. Das Löschen dieser Tabelle würde diese Formulare ungültig machen. Wenn ein Benutzer dann versucht, dieses Formular abzusenden, wird eine Fehlermeldung angezeigt, und er muss das Formular erneut ausfüllen.

Beachten Sie, dass drush sql-dumpund Backup - und Migrate auslassen automatisch den Inhalt dieser und anderen Tabellen , wenn eine Datenbanksicherung mit diesen statt mysqldump oder phpMyAdmin zu schaffen.

Berdir
quelle
drush sql-dump enthält tatsächlich die Tabelle 'cache_form'.
Cjoy
@remote: Ich wollte nicht andernfalls implizieren (obwohl ich nicht wusste, dass es ausdrücklich cache_form behält). Fühlen Sie sich frei zu bearbeiten (oder schlagen Sie eine Bearbeitung vor), wenn Sie denken, dass meine Antwort irreführend ist.
Berdir
5

Es gibt einen "falschen Freund" in dieser Liste. cache_form ist keine Cache-Tabelle, und wenn Sie sie leeren, werden alle derzeit auf der Site aktiven Formulare ungültig.

Ich sehe auch keinen Grund, warum Sie dafür phpmyadmin verwenden würden. Es ist klobig und fehleranfällig. "drush cc all" ist dein Freund :)

Bojan Zivanovic
quelle
4

Der Zweck der Cache-Tabellen besteht darin, berechnete Werte beizubehalten. Wenn ein Modul cache_get () aufruft und einen leeren Wert zurückgibt, führt es nur den Code aus, um die zwischengespeicherten Werte zurückzugewinnen.
Alle mir bekannten Module führen den Code automatisch aus, um den erwarteten Wert im Cache zu erhalten, wenn der Cache leer ist. Das Leeren des Cache verursacht für die Module, die ihn verwenden, keine Probleme.

kiamlaluno
quelle
4

Ich habe es schon oft gemacht und dabei kein Problem festgestellt.

Wichtiger Hinweis - versuchen Sie, alle Cache-Tabellen auf einmal zu löschen . Dies verhindert, dass Drupal ungültige Cache-Daten verwendet.

j2r
quelle
Ich habe sehr wichtige Daten in diesen Tabellen, sind Sie sich zu 120% sicher? ;)
Mohammad Ali Akbari
Ja, aber für Ihre sehr wichtigen Daten machen Sie bitte zuerst eine Sicherungskopie. :)
j2r
2
@MohammadAliAkbari Wenn Sie wichtige Daten haben, dann sollten diese wirklich woanders gespeichert werden sowie in den Cache-Tabellen ...
Chapabu
@j2r, ich auch, ich habe es mehrmals gemacht. Kein Problem. +1
Sithu
@ Chapabu Ich meine, die Website ist wichtig, ich habe selbst keine wichtigen Daten gespeichert
Mohammad Ali Akbari