Zum Inhalt springen

"Clear Cache" automatisieren

Erstellt am 23. März 2004 · 7 Antworten · letzte Antwort am 3. August 2005

Tags: Frage

sw-student ·

Hi Leute,

möchte gerne das Cache löschen automatisieren. Ist so etwas möglich, dass z.B. jede Nacht einmal der Cache gelöscht wird. Wie spreche ich diese Funktion an?

Danke, Greetz
sw-student

TW ·

hi
machen könnte man das mit nem cronjob......
allerdings weiss ich nicht wie man die funktion für den cache löschen genau anspricht...

cu
thorsten

maxhb ·

Hi!

sw-student schrieb

möchte gerne das Cache löschen automatisieren. Ist so etwas möglich, dass z.B. jede Nacht einmal der Cache gelöscht wird. Wie spreche ich diese Funktion an?

AFAIK liegt der Cache komplett in der Datenbank, genauer in all den Tabellen deren Name mit "cache_" beginnt. Es sollte also reichen per Cronjob einmal die Nacht folgendes SQL-Statement laufen zu lassen:

TRUNCATE `cache_hash`;
TRUNCATE `cache_md5params`;
TRUNCATE `cache_pages`;
TRUNCATE `cache_pagesection`;
TRUNCATE `cache_typo3temp_log`;

CU
maxhb

outdoor ·

Etwas spät auf den Thread gestossen, aber vielleicht geht's ja so einfacher:

Im setup können folgende Befehle dazu dienen, den cache zu löschen

config.cache_periode = 86400
(Millisekunden)

config.cache_clearAtMidnight = 1
(0:00 Uhr)

config.cache_clearAtFullmoon =1
-Noch nicht implementiert, werde es aber mal an Kasper adressieren ;-)

Gruss
Outdoor

user667 ·

Hi!

Im TS habe ich gesetzt:

config {
	## Cache-Time: 7 Tage
	cache_period = 604800
}

clearAtMidnight:

config.cache_clearAtMidnight = 1

löscht doch wohl den gesamten Cache um Mitternacht, d.h. er muss danach wieder aufgebaut werden. Deshalb habe ich diese Variable nicht gesetzt, ich will ja meine Cache-Period nutzen.

"Problem":

Nun ja, jetzt standen bei mir ungefähr 2000 Einträge in cache_pages drin, die eigentlich abgelaufen sind. Das macht bei meiner Seite fast 50MB aus und würde auch weiter steigen, wenn ich den Cache nicht löschen würde. Will ich aber nicht, er soll ja nicht jedes Mal wieder aufgebaut werden...

Deshalb habe ich jetzt folgenden CronJob eingerichtet, der mir täglich die SQL-Query ausführt

DELETE FROM `cache_pages`
WHERE FROM_UNIXTIME( expires, '%Y-%m-%d' ) < CURDATE( );

Damit werden die abgelaufenen Einträge aus der Tabelle cache_pages entfernt, die aktuellen Einträge bleiben aber bestehen.

Hat das jemand evtl. schöner gelöst, oder gibt es vielleicht sogar die Möglichkeit, das in TypoScript so umzusetzen?

Thx für Eure Antworten...

user