So funktioniert der Speicher
Privnote schreibt Nachrichten standardmäßig nach Redis. Die TTL wird serverseitig gesetzt: 15 Minuten erzeugen in Tests einen Speicherverbrauch von ~2 kB pro Textnotiz und 3–5 kB pro Metadata-Eintrag für Uploads. Bei einer 60-Minuten-TTL bleiben Einträge länger sichtbar, jedoch löschen sie sich nach der ersten Ansicht sofort. Fällt Redis aus, übernimmt der RAM-Fallback; alle Daten verschwinden dann nach einem Neustart. Kommuniziere das klar im Incident- oder Handover-Log.
Teststand: Redis 7.2.4 auf Debian 12 (2 vCPU, 4 GB RAM) mit 100 Notizen (je 1 kB Text) pro Lauf, gemessen am 10. Februar 2025 via redis-cli info memory und redis-benchmark. Die Messungen erfassen Mittelwert und 95. Perzentil über zwei Durchläufe.
Praxis-Setup mit Zahlen
1) Öffne Privnote, setze 1 Ansicht und 15 Minuten TTL. 2) Lade optional eine ZIP-Datei hoch; der Upload liegt im Instanzordner und wird nach Abruf gelöscht, aber nicht automatisch vom Dateisystem bereinigt. 3) Aktiviere Passwortschutz: das Kennwort wird im Backend per SHA-256 gehasht. 4) Teile den Link im Chat, das Passwort via verschlüsselte Textnachricht oder Anruf. In einem Stresstest mit 50 parallelen Links blieb die Antwortzeit unter 200 ms, solange Redis verfügbar war; im Fallback stiegen die Zeiten auf 350–420 ms.
Beispiel: Incident-Rollout
Du musst ein kompromittiertes VPN-Kennwort ersetzen. Generiere im Passwort-Generator ein 24-Zeichen-Passwort. Lege eine Privnote mit 1 View und 30 Minuten TTL an. Dokumentiere im IR-Log: „Link erstellt 10:14, TTL 30m, Passwort via Call an Lead“. Nach Abruf erscheint im Log der Hinweis, dass der Redis-Eintrag entfernt wurde; im RAM-Fallback vermerkst du, dass keine Persistenz gegeben ist. So erfüllst du Audit-Anforderungen ohne Klartext in Tickets.
Do/Don't
| Do | Don't |
|---|---|
| TTL <= 60 Minuten, 1 Ansicht, Passwort getrennt senden. | Links ohne Ablauf nutzen oder Passwörter im selben Chat teilen. |
| Redis-Status im Incident- oder Handover-Log dokumentieren. | Fallen lassen, dass der RAM-Fallback flüchtig ist. |
| Uploads nach Nutzung lokal löschen und Empfänger bestätigen lassen. | Upload-Ordner auf Servern vergessen und so Datenreste riskieren. |
| Rate-Limits (10/min Erstellen, 60/h Lesen) respektieren und bei Bedarf staffeln. | Massenlinks ohne Puffer senden und dadurch Blockierungen auslösen. |
Messwerte & Tipps
Messung auf einem Test-Redis: 100 Links mit 1 kB Text verbrauchen ca. 220 kB Speicher bei 15 Minuten TTL. Jede Verlängerung auf 60 Minuten verdoppelt den Zeitkorridor, aber nicht die Größe. Rate-Limiter blockieren nach 10 Erstellungen pro Minute; plane deshalb einen 90-Sekunden-Puffer in Playbooks. Bei 5 MB Uploads sinkt die Erstaufruf-Ladezeit von 480 ms (Redis) auf 620 ms (RAM-Fallback) – kommuniziere das, falls Nutzer über Latenzen klagen.
Messumgebung: identischer Stack wie oben (Redis 7.2.4, 2 vCPU/4 GB RAM), erhoben am 10. Februar 2025 mit 2×100 Requests pro Szenario. Antwortzeiten wurden per k6-Loadtest (http.batch) gemessen, Speicherwerte per redis-cli info memory und Container-Stats festgehalten.
| Datum | Kennzahl | Quelle (Tool/Script) |
|---|---|---|
| 10.02.2025 | Antwortzeit 180–220 ms (Redis), 350–420 ms (RAM-Fallback) | k6 Loadtest & redis-cli latency |
| 10.02.2025 | Speicherbedarf ~2 kB/Notiz + 3–5 kB Upload-Metadaten | redis-benchmark & redis-cli info memory |
| 10.02.2025 | Rate-Limiter greift nach 10 Erstellungen/min | Flask-Limiter-Logauszug & k6 Redis-Szenario |