
Cache-Namespace
Ein Cache-Namespace ist ein Namensbereich in einem Zwischenspeicher, der zusammengehörige gespeicherte Ergebnisse voneinander trennt. So kollidieren gleiche Namen aus verschiedenen Anwendungen oder Nutzergruppen nicht, und ganze Bereiche lassen sich gezielt leeren.
Programme speichern häufig benutzte Ergebnisse zwischen, damit sie nicht jedes Mal neu berechnet werden müssen. Diesen Zwischenspeicher nennt man Cache. Darin liegt jedes Ergebnis unter einem Namen, dem Schlüssel, über den man es wiederfindet. Wenn viele verschiedene Programme denselben Zwischenspeicher benutzen, wählen sie leicht denselben Namen für ganz verschiedene Dinge. Ein Cache-Namespace ist ein abgetrennter Namensbereich, der genau das verhindert. Man kann ihn sich vorstellen wie einen beschrifteten Ordner: Zwei Dateien dürfen gleich heißen, solange sie in verschiedenen Ordnern liegen.
Was ohne Trennung schiefgeht
Ohne Namensbereiche kommt es zu Kollisionen. Ein Onlineshop legt unter dem Schlüssel „user:42“ die Adressdaten eines Kunden ab. Ein zweites Programm auf demselben Server legt unter demselben Schlüssel etwas völlig anderes ab, etwa Statistikdaten. Das eine überschreibt das andere. Im besten Fall zeigt die Seite Unsinn an. Im schlimmsten Fall sieht ein Nutzer Daten eines anderen Nutzers.
Der zweite Grund ist das Aufräumen. Caches müssen regelmäßig geleert werden, wenn sich die zugrundeliegenden Daten ändern. Ohne Namensbereiche gibt es nur zwei schlechte Möglichkeiten: alles löschen oder jeden Schlüssel einzeln suchen. Alles zu löschen trifft auch fremde Programme, die danach langsam werden. Mit einem Namespace löscht man gezielt nur den eigenen Bereich.
Bei KI-Diensten kommt ein dritter Punkt dazu. Anbieter speichern Antworten und Zwischenergebnisse von Sprachmodellen zwischen, weil deren Berechnung teuer ist. Solche zwischengespeicherten Antworten dürfen niemals aus dem Bereich eines Kunden in den eines anderen rutschen. Namespaces sind hier eine grundlegende Sicherheitsmaßnahme, nicht nur eine Aufräumhilfe.
Präfixe, Datenbanken und Versionsnummern
Technisch ist ein Namespace meist erstaunlich simpel. Man stellt jedem Schlüssel eine feste Zeichenkette voran, das Präfix. Aus „user:42“ wird dann „shop:user:42“ und im anderen Programm „stats:user:42“. Die Schlüssel sind jetzt verschieden, obwohl der eigentliche Name gleich blieb. Der Zwischenspeicher selbst muss dafür nichts können, die Trennung entsteht allein durch die Namensregel.
Manche Systeme bieten stärkere Formen an. Der verbreitete Cache-Server Redis kennt durchnummerierte Datenbanken, die man wie getrennte Schubladen benutzt. Größere Betreiber gehen noch weiter und geben jedem Mandanten eine eigene Instanz, also einen komplett eigenen Speicher. Je strikter die Trennung, desto sicherer, aber desto mehr Verwaltungsaufwand entsteht auch.
Ein beliebter Trick ist der versionierte Namespace. Man hängt eine Zahl an das Präfix, etwa „shop:v7:“. Muss der gesamte Bereich ungültig werden, erhöht man die Zahl einfach auf v8. Alle alten Einträge findet niemand mehr, und sie verschwinden später von allein, weil Caches Einträge nach einer Ablaufzeit wegwerfen. Das ist deutlich schneller, als Millionen Einträge einzeln zu löschen.
Wo der Begriff in der Praxis auftaucht
Am häufigsten liest man ihn in der Dokumentation von Web-Frameworks und Cloud-Diensten. Wer eine Anwendung mit Django, Laravel oder Rails baut, trägt in der Konfiguration ein Cache-Präfix ein. Content-Delivery-Netzwerke wie Cloudflare arbeiten mit Cache-Tags, die derselben Idee folgen: Man markiert Inhalte und kann später eine ganze Gruppe auf einmal für ungültig erklären.
In News zu KI-Infrastruktur begegnet der Begriff im Zusammenhang mit Prompt Caching. Dabei merkt sich ein Anbieter den wiederkehrenden Anfang langer Anfragen, um Rechenzeit zu sparen. Diese Zwischenstände liegen in Namespaces pro Kunde oder pro Projekt. Wenn ein Unternehmen fragt, ob seine Daten sauber getrennt sind, ist das oft die eigentliche Frage dahinter.
Ein häufiger Irrtum ist, einen Namespace für Verschlüsselung oder echten Zugriffsschutz zu halten. Er ist beides nicht. Ein Programm mit Zugang zum Cache kann in der Regel auch fremde Präfixe lesen, wenn es sie kennt. Der Namespace ordnet und trennt versehentliche Überschneidungen, ersetzt aber keine Rechteverwaltung.