Webwinkels
Productpagina's, prijzen en voorraadniveaus worden duizenden keren per seconde gelezen en per tag ververst wanneer de catalogus verandert.
Houd je heetste data in het geheugen en beantwoord reads ruim onder een milliseconde, op een engine die elke core aan het werk zet.
Een hit komt rechtstreeks uit het geheugen terug. De database wordt niet aangeraakt.
Een geanimeerde walkthrough met echte HotKV-commando's en voorbeeldantwoorden. Klik op een stap om ernaartoe te springen. Commando's en antwoorden blijven Engels, precies zoals je ze in HotKV typt en ziet.
Databases zijn traag en duur om te raadplegen voor data die duizenden keren per seconde wordt gelezen. Elke paginaweergave, API-aanroep of dashboardverversing herhaalt dezelfde query, en de database wordt de bottleneck lang voordat je applicatie dat is.
HotKV staat voor de database en houdt resultaten in het geheugen. Je applicatie leest eerst uit HotKV en valt alleen bij een miss terug op de database. Omdat HotKV commando's op veel threads tegelijk uitvoert, stuurt een drukke cache niet elke client door één core, en met tags kun je een hele groep items ongeldig maken wanneer de onderliggende data verandert.
Een hit komt rechtstreeks uit het geheugen terug. De database wordt niet aangeraakt.
GET product:1001Bij een miss leest de applicatie de database eenmaal en cachet het resultaat vijf minuten.
SET product:2002 "{\"name\":\"Oak desk\",\"price\":420}" EX 300Elke gecachete pagina die verlichtingsproducten toont, draagt dezelfde tag.
TAG.SET product:1001 catalog:lightingPrijzen zijn gewijzigd. Som elke sleutel met de tag op en verwijder ze in één pipeline.
TAG.MEMBERS catalog:lightingEen flash-token, al ingesteld, dat na 250 ms moet verdwijnen, met nanoseconde-precisie.
NEXPIRE flash:token:9 250000000Productpagina's, prijzen en voorraadniveaus worden duizenden keren per seconde gelezen en per tag ververst wanneer de catalogus verandert.
Antwoorden van populaire endpoints worden gecachet met korte TTL's, zodat verkeerspieken het geheugen raken in plaats van de database.
Gerenderde fragmenten en artikelmetadata worden minuten gecachet en per tag ongeldig gemaakt wanneer een redacteur publiceert.
EXPIRE en PEXPIRE werken zoals je verwacht. NEXPIRE voegt nanoseconde-precisie toe.
EXPIREPEXPIRENEXPIRELabel sleutels met TAG.SET en vind daarna elke sleutel met een label.
TAG.SETTAG.MEMBERSGrote payloads kunnen worden gecomprimeerd zodat meer van je werkset in het geheugen past.
Commando's worden op parallelle threads uitgevoerd, dus de doorvoer groeit mee met de cores. De cijfers staan op de pagina Performance.
GETMGETHotKV spreekt het Redis-protocol (RESP2 en RESP3), dus standaard Redis-clients maken er verbinding mee. Controleer de commandoreferentie voor de commando's waarop je vertrouwt.
Tag de sleutels met TAG.SET wanneer je ze cachet, roep daarna TAG.MEMBERS aan en verwijder wat terugkomt.
Het is de GET-doorvoer met pipelining uit de gepubliceerde benchmark van HotKV. De methode en hardware staan op de pagina Performance.
HotKV spreekt het Redis-protocol, dus je kunt een bestaande client erop richten en dezelfde commando's uitvoeren.