Ausgegliedert aus #23 (Thumbnail-Endpoint), weil dort der Disk-Cache nur fuer Thumbnails implementiert wurde. pHash-Cache braucht eigene Datenstruktur und Invalidierungslogik.
## Problem
Wenn dieselben Bilder mehrfach analysiert werden (z.B. Reload, neue Analyse mit anderen Parametern), wird:
- pHash neu berechnet (in `analyzer.py:analyze_folder`)
- EXIF mehrfach pro Bild gelesen (Export, Preview-Bar, Watermark-Template)
Bei 500 Bildern x ~150ms pHash = ~75 s pro Re-Run.
## Fix
`analyzer_cache.json` unter `<tempdir>/of-cache/` mit Schluessel `md5(path)+mtime`:
```json
{
"<md5>_<mtime>": {"phash": "...", "exif": {...}, "brightness": 120.5}
}
```
Invalidate wenn mtime nicht uebereinstimmt.
## Ausgliederung
Ausgegliedert aus #23 (Thumbnail-Endpoint), weil dort der Disk-Cache nur fuer Thumbnails implementiert wurde. pHash-Cache braucht eigene Datenstruktur und Invalidierungslogik.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
Wenn dieselben Bilder mehrfach analysiert werden (z.B. Reload, neue Analyse mit anderen Parametern), wird:
analyzer.py:analyze_folder)Bei 500 Bildern x ~150ms pHash = ~75 s pro Re-Run.
Fix
analyzer_cache.jsonunter<tempdir>/of-cache/mit Schluesselmd5(path)+mtime:Invalidate wenn mtime nicht uebereinstimmt.
Ausgliederung
Ausgegliedert aus #23 (Thumbnail-Endpoint), weil dort der Disk-Cache nur fuer Thumbnails implementiert wurde. pHash-Cache braucht eigene Datenstruktur und Invalidierungslogik.