Negozi online
Pagine prodotto, prezzi e livelli di stock vengono letti migliaia di volte al secondo e aggiornati per tag quando cambia il catalogo.
Tieni in memoria i tuoi dati più caldi e rispondi alle letture in molto meno di un millisecondo, su un motore che mette al lavoro ogni core.
Un hit torna direttamente dalla memoria. Il database non viene toccato.
Una dimostrazione animata con comandi HotKV reali e risposte di esempio. Clicca su un passo qualsiasi per andarci. Comandi e risposte restano in inglese, esattamente come li digiti e li vedi in HotKV.
I database sono lenti e costosi da interrogare per dati letti migliaia di volte al secondo. Ogni visualizzazione di pagina, chiamata API o aggiornamento di dashboard ripete la stessa query, e il database diventa il collo di bottiglia molto prima della tua applicazione.
HotKV si mette davanti al database e tiene i risultati in memoria. La tua applicazione legge prima da HotKV e ripiega sul database solo in caso di miss. Poiché HotKV esegue i comandi su molti thread contemporaneamente, una cache molto carica non fa passare ogni client per un solo core, e i tag ti permettono di invalidare un intero gruppo di voci quando cambiano i dati sottostanti.
Un hit torna direttamente dalla memoria. Il database non viene toccato.
GET product:1001In caso di miss l'applicazione legge il database una volta e mette in cache il risultato per cinque minuti.
SET product:2002 "{\"name\":\"Oak desk\",\"price\":420}" EX 300Ogni pagina in cache che mostra prodotti di illuminazione ha lo stesso tag.
TAG.SET product:1001 catalog:lightingI prezzi sono cambiati. Elenca ogni chiave con il tag e cancellale in una sola pipeline.
TAG.MEMBERS catalog:lightingUn token flash, già impostato, che deve sparire dopo 250 ms, con precisione al nanosecondo.
NEXPIRE flash:token:9 250000000Pagine prodotto, prezzi e livelli di stock vengono letti migliaia di volte al secondo e aggiornati per tag quando cambia il catalogo.
Le risposte degli endpoint più popolari vengono messe in cache con TTL brevi, così i picchi di traffico colpiscono la memoria invece del database.
Frammenti renderizzati e metadati degli articoli vengono messi in cache per alcuni minuti e invalidati per tag quando una redazione pubblica.
EXPIRE e PEXPIRE funzionano come ti aspetti. NEXPIRE aggiunge la precisione al nanosecondo.
EXPIREPEXPIRENEXPIREEtichetta le chiavi con TAG.SET, poi trova ogni chiave con un'etichetta.
TAG.SETTAG.MEMBERSI payload grandi si possono comprimere, così una parte maggiore del tuo working set entra in memoria.
I comandi vengono eseguiti su thread paralleli, quindi il throughput cresce con i core. I numeri sono nella pagina Performance.
GETMGETHotKV parla il protocollo Redis (RESP2 e RESP3), quindi i client Redis standard si connettono. Controlla nel riferimento dei comandi quelli su cui fai affidamento.
Tagga le chiavi con TAG.SET quando le metti in cache, poi chiama TAG.MEMBERS e cancella ciò che viene restituito.
È il throughput di GET in pipeline del benchmark pubblicato di HotKV. Metodo e hardware sono nella pagina Performance.
HotKV parla il protocollo Redis, quindi puoi puntarci un client esistente ed eseguire questi stessi comandi.