Bei Study anmelden

Diese Seite ist der öffentliche eMedys-Auftritt. Dein Konto und deine privaten Inhalte laufen auf Study; die Anmeldung öffnet sich dort in einem eigenen Fenster.

Cache und temporäre Dateien gehören zu einem Lauf

Inhaltsidentität, Regelversion und Grenzen des Aufräumens erklären.

Ein Cache darf nur ein Ergebnis wiederverwenden, dessen Eingabe und Regeln zum neuen Auftrag passen. Gleicher Pfad, gleiche Größe und ein gleicher Sekunden-Zeitstempel beweisen keinen gleichen Inhalt. Unser Übungsvertrag kombiniert deshalb Inhalts-Hash, Extraktorversion und Modus; auch die Abdeckung wird gespeichert. Jeder Lauf besitzt einen eigenen Arbeitsbereich. Bei normalem Ende oder behandelten Ausnahmen räumt ein finally-Pfad beziehungsweise Kontextmanager auf. Das garantiert keine Bereinigung nach SIGKILL, Stromausfall oder einem Prozessabsturz. Eine spätere Bereinigung braucht Besitzinformationen und darf aktive Läufe nicht allein wegen ihres Alters löschen. Ein validierter Kandidat wird erst am festgelegten Veröffentlichungspunkt sichtbar.

Ein Beispiel

Zwei erfundene Texte KATALOG-A und KATALOG-B haben dieselbe Länge. Ein Metadaten-Schlüssel könnte sie verwechseln. Ihr Inhalts-Hash unterscheidet sie. Ebenso erhalten OCR-Vorschau und Vollmodus getrennte Schlüssel. Ein Abbruch vor Veröffentlichung lässt den alten gültigen Cacheeintrag bestehen; das neue Teilergebnis bleibt unfreigegeben. Python 3.11 · Lehrbeispiel from hashlib import sha256 def cache_key(text, version, mode): digest = sha256(text.encode("utf-8")).hexdigest() return digest, version, mode print(cache_key("KATALOG-A", "v1", "preview") == cache_key("KATALOG-B", "v1", "preview")) Erwartete Ausgabe False

Mit meinem Konto üben →

Alle Lernwege