Sagt mal. Ist es möglich den Cache, egal welches Backend genutzt wurde, komplett zu löschen? Ich finde da spontan nix.
Ich hab nämlich das Problem von http://pylucid.net:8080/pylucid/ticket/94 :
Nachdem eine Seite editiert wurde, sollte der Cache auch aktualisiert werden. Eigentlich wäre es das beste den ganzen Cache zu löschen und neu aufbauen zu lassen...
Kann es sein, das man das nicht kann?
django: Cache aufräumen nicht möglich???
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Code: Alles auswählen
from django.core.cache import cache
cache.delete(your_cache_key)
TUFKAB – the user formerly known as blackbird
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Das geht natürlich nicht, weil Backends das nicht alle bereitstellen können. Aber das ist auch eine sehr unelegante Lösung, invalidiere die Daten einfach.
TUFKAB – the user formerly known as blackbird
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Die Daten invalidieren?!?! Was meinst du damit?
Nochmal das Problem: Ich cache die gesamte Seite, z.B. auch mit dem Hauptmenü. Allerdings nur für unangemeldete User.
Wenn nun jemand sich einloggt und eine Seite umbenennt, löscht verschiebt ect. ist in allen Seiten aus dem Cache das Hauptmenü veraltet.
OK, der Cache hat mit CACHE_MIDDLEWARE_SECONDS eine begrenzte Lebensdauer, aber die Zeit kann ja sehr hoch gewählt werden...
Meine Idee war es nun, nach einer Änderung alle Cache Daten zu löschen.
z.Z. nutzte ich nur das einfache "Filesystem caching". Ich könnte also selber die Dateinamen einlesen oder gleich löschen. Aber das wäre eine dumme Idee.
Nochmal das Problem: Ich cache die gesamte Seite, z.B. auch mit dem Hauptmenü. Allerdings nur für unangemeldete User.
Wenn nun jemand sich einloggt und eine Seite umbenennt, löscht verschiebt ect. ist in allen Seiten aus dem Cache das Hauptmenü veraltet.
OK, der Cache hat mit CACHE_MIDDLEWARE_SECONDS eine begrenzte Lebensdauer, aber die Zeit kann ja sehr hoch gewählt werden...
Meine Idee war es nun, nach einer Änderung alle Cache Daten zu löschen.
z.Z. nutzte ich nur das einfache "Filesystem caching". Ich könnte also selber die Dateinamen einlesen oder gleich löschen. Aber das wäre eine dumme Idee.