Onlineshops
Produktseiten, Preise und Lagerbestände werden tausendfach pro Sekunde gelesen und per Tag erneuert, wenn sich der Katalog ändert.
Halten Sie Ihre heißesten Daten im Speicher und beantworten Sie Lesezugriffe in deutlich unter einer Millisekunde, auf einer Engine, die jeden Kern nutzt.
Ein Treffer kommt direkt aus dem Speicher zurück. Die Datenbank wird nicht berührt.
Ein animierter Durchlauf mit echten HotKV-Befehlen und Beispielantworten. Klicken Sie auf einen Schritt, um direkt dorthin zu springen. Befehle und Antworten bleiben auf Englisch, genau so, wie Sie sie in HotKV eingeben und sehen.
Datenbanken sind langsam und teuer für Daten, die tausendfach pro Sekunde gelesen werden. Jeder Seitenaufruf, jeder API-Aufruf und jede Dashboard-Aktualisierung wiederholt dieselbe Abfrage, und die Datenbank wird zum Engpass, lange bevor es Ihre Anwendung wird.
HotKV sitzt vor der Datenbank und hält Ergebnisse im Speicher. Ihre Anwendung liest zuerst aus HotKV und greift nur bei einem Miss auf die Datenbank zurück. Weil HotKV Befehle auf vielen Threads gleichzeitig ausführt, zwängt ein ausgelasteter Cache nicht jeden Client durch einen einzigen Kern, und mit Tags können Sie eine ganze Gruppe von Einträgen invalidieren, wenn sich die zugrunde liegenden Daten ändern.
Ein Treffer kommt direkt aus dem Speicher zurück. Die Datenbank wird nicht berührt.
GET product:1001Bei einem Miss liest die Anwendung einmal aus der Datenbank und cacht das Ergebnis für fünf Minuten.
SET product:2002 "{\"name\":\"Oak desk\",\"price\":420}" EX 300Jede gecachte Seite, die Beleuchtungsprodukte zeigt, trägt denselben Tag.
TAG.SET product:1001 catalog:lightingDie Preise haben sich geändert. Listen Sie jeden Key mit dem Tag auf und löschen Sie alle in einer Pipeline.
TAG.MEMBERS catalog:lightingEin bereits gesetztes Flash-Token, das nach 250 ms verschwinden muss, mit Nanosekunden-Genauigkeit.
NEXPIRE flash:token:9 250000000Produktseiten, Preise und Lagerbestände werden tausendfach pro Sekunde gelesen und per Tag erneuert, wenn sich der Katalog ändert.
Antworten beliebter Endpunkte werden mit kurzen TTLs gecacht, sodass Lastspitzen den Speicher treffen statt der Datenbank.
Gerenderte Fragmente und Artikel-Metadaten werden minutenweise gecacht und per Tag invalidiert, wenn ein Redakteur veröffentlicht.
EXPIRE und PEXPIRE funktionieren wie gewohnt. NEXPIRE ergänzt Nanosekunden-Genauigkeit.
EXPIREPEXPIRENEXPIREVersehen Sie Keys mit TAG.SET mit Labels und finden Sie dann jeden Key mit einem Label.
TAG.SETTAG.MEMBERSGroße Payloads lassen sich komprimieren, sodass mehr von Ihrem Working Set in den Speicher passt.
Befehle laufen auf parallelen Threads, sodass der Durchsatz mit den Kernen wächst. Die Zahlen stehen auf der Performance-Seite.
GETMGETHotKV spricht das Redis-Protokoll (RESP2 und RESP3), daher verbinden sich Standard-Redis-Clients damit. Prüfen Sie in der Befehlsreferenz die Befehle, auf die Sie angewiesen sind.
Taggen Sie die Keys beim Cachen mit TAG.SET, rufen Sie dann TAG.MEMBERS auf und löschen Sie, was zurückkommt.
Es ist der GET-Durchsatz mit Pipelining aus dem veröffentlichten Benchmark von HotKV. Methode und Hardware stehen auf der Performance-Seite.
HotKV spricht das Redis-Protokoll, sodass Sie einen bestehenden Client darauf richten und genau diese Befehle ausführen können.