Redis Cache löschen

Fragen zum Erstellen von Templates für webEdition.
frog0815
Member
Beiträge: 33
Registriert: Mo 7. Apr 2014, 14:25

Redis Cache löschen

Beitragvon frog0815 » Fr 29. Apr 2022, 13:16

Hallo,
ich verwende mit WE 9.1.1. die we:cache Tags mit Redis.
Wenn man nun aber einen inhaltlichen Fehler im Dokument eingepflegt hat und der Inhalt dann im Redis gespeichert ist, müsste man jetzt die ganze TTL Zeit abwarten bis der Fehler raus ist.
Damit Eingabefehler sofort korrigiert werden können, möchte ich gerne manuell den Cache löschen oder neu schreiben lassen. Ich habe dafür keine Funktion im WE Backend gefunden. Gibt es sowas nicht?
Ich habe mir mal die Keys im Redis angesehen. Alle keys fangen mit "we_" gefolgt von einem identischen 8-stelligen Code an. Was ist das für ein 8-stelliger Code, ist der auf Dauer immer gleich oder kann der sich ändern?
Darf ich pauschal einfach alle RedisKeys mit "we_*" löschen?
Oder gibt es eine elegantere Lösung um einen Fehler im Dokument im Redis zu aktualisieren?

mokraemer
Senior Member
Beiträge: 3450
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Redis Cache löschen

Beitragvon mokraemer » Fr 29. Apr 2022, 16:01

Nein, an den Cache selbst solltest du normal nicht rangehen. Sicher kannst du einfach den ganzen redis-cache löschen; das macht WE nix aus, sonst wäre es ja kein Cache sondern ein Datenspeicher. Vorgesehen ist das aber weder vom Cache noch von uns.
Einiges macht WE mit dem Cache völlig automatisch. Also Änderungen innerhalb des <we:cache> Tags im Template werden erkannt und damit der Cache automatisch invalidiert.
Das Hauptproblem beim Cache steckt immer darin, wie man Änderungen erkennt. Wenn der Aufwand dafür größer ist wie die normale Ausgabe, macht das nämlich keinen Sinn.
Wenn du es mal manuell machen mußt, steht dir im Tag der Param "id" zur Verfügung, wo du im Template was anhängen kannst - nach der TTL kann man das wieder entfernen, oder eben mit der nächsten Änderung rückgängig machen.
webEdition-Kern-Entwickler

frog0815
Member
Beiträge: 33
Registriert: Mo 7. Apr 2014, 14:25

Re: Redis Cache löschen

Beitragvon frog0815 » Mi 4. Mai 2022, 08:22

Wir haben Module als kleine Vorlagen erstellt die in verschiedenen Dokumenten eingebunden werden. Ich schätze mal, dass Änderungen in den Teilen der Module von WE nicht erkannt werden und somit im Cache dann nicht aktualisiert werden.

Den ganzen Cache will ich ja nicht löschen da ja noch andere Dinge im Cache außerhalb von WE abgelegt werden, somit werde ich eine Funktion bauen um alle Keys mit "we_" Prefix zu löschen.
Die Option die ID von WE Cache Tags zu ändern kommt nicht in Frage, da die Redakteure die den Content pflegen keine Zugriffsrechte für Vorlagen bekommen und überhaupt nicht in der Lage sind Code zu lesen und Änderungen vorzunehmen.
Schade, dass WE dafür keine Lösung hat.

mokraemer
Senior Member
Beiträge: 3450
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Redis Cache löschen

Beitragvon mokraemer » Mi 4. Mai 2022, 13:46

Bist du sicher, das du den Cache richtig und sinnvoll verwendest?
Bei vielen Inhalten ist die DB genauso schnell. Es macht keinen Sinn alles zu cachen. Ich würde hier vermutlich nur das einzelne Modul und auch da nur diejenigen, die wirklich Zeit brauchen cachen.
Wenn du bei jeder Änderung den ganzen Cache killst, dann ist der auch nicht mehr sinnvoll.
webEdition-Kern-Entwickler

frog0815
Member
Beiträge: 33
Registriert: Mo 7. Apr 2014, 14:25

Re: Redis Cache löschen

Beitragvon frog0815 » Do 5. Mai 2022, 08:06

Genau die einzelnen Module werden gecached.
Wie bereits geschrieben geht es nur um manuelle Korrekturen des Caches, nur falls mal etwas falsches eingepflegt wurde, was nicht bis zum TTL Ende online bleiben kann. Ich will auf keinen Fall bei jeder Änderung den Cache löschen.

mokraemer
Senior Member
Beiträge: 3450
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Redis Cache löschen

Beitragvon mokraemer » Do 5. Mai 2022, 22:41

ok, verstehe. Also man kann mit der "id" natürlich versuchen einen Automatismus zu finden. Um damit den Cache bei Änderungen zu steuern. Das ist eben immer das komplizierteste am Cache - man muß erkennen, wann er gelöscht werden kann bzw. wann sich der Inhalt ändert - ohne die eigentliche Berechnung durchzuführen.
Da gibt es leider keine generelle Regel - aber man sollte auf jeden Fall prüfen, ob sich das Cachen überhaupt lohnt. Denn man handelt sich ja eben dadurch Ärger ein. (s. debug-Parameter beim Cache).
webEdition-Kern-Entwickler


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste