Skip to main content

Cache Tabellen automatisch leeren

Große Cache Tabellen blasen die Datenbank auf - Abhilfe schaffen mit automatisiertem Vorgehen.

Da die Caches einer TYPO3 Installation ziemlich schnell vollaufen, müssen diese regelmäßig geleert werden.

Dazu erstellt man eine Datei, die diese Cachetabellen leert. In diesem Fall clear_cache.sql

Die Datei hat folgenden Inhalt und liegt auf dem Server im Verzeichnis /files.

TRUNCATE `cache_hash`; 
TRUNCATE `cache_imagesizes`;
TRUNCATE `cache_md5params`;
TRUNCATE `cache_pages`;
TRUNCATE `cache_pagesection`;
TRUNCATE `cache_typo3temp_log`;
TRUNCATE `cachingframework_cache_hash`;
TRUNCATE `cachingframework_cache_hash_tags`;
TRUNCATE `cachingframework_cache_pages`;
TRUNCATE `cachingframework_cache_pagesection`;
TRUNCATE `cachingframework_cache_pagesection_tags`;
TRUNCATE `cachingframework_cache_pages_tags`;

Diese Datei wird über ein Shellscript ausgeführt. Bei einer Mittwald-Installation sieht das Script jobclearcache.sh so aus (schreiben Sie bitte alles in eine Zeile):

mysql -up111111 -pgeheimesPasswort 
-hdb1111.mydbserver.com usr_p11111_1 
< /files/clear_cache.sql

p11111 ist der  Datenbankusername, gefolgt vom Passwort und dem Datenbankhost und dem Datenbankuser. Aufgerufen wird die Datei clear_cache.sql.

Schauen Sie sich in der Datenbank zunächst die Größe der Datenbank an und merken sich die Dateigröße.

Zum Test, ob das Script tatsächlich aufgerufen wird, kann man (unter Windows mit Putty) das Script zunächst manuell aufrufen. Wählen Sie sich in die Shell ein und wechseln ins Verzeichnis /files. Führen Sie die Datei aus:

./jobclearcache.sh 

Schauen Sie nun wieder in die Datenbank und Sie sehen, dass die Cachetabellen und damit die Datenbank wesentlich kleiner ist.

Nun können Sie einen Cronjob laufen lassen, der zu einem bestimmten Zeitpunkt regelmäßig aufgerufen wird.