Données de basePerformance

Cache

Gardez vos données les plus sollicitées en mémoire et répondez aux lectures en bien moins d'une milliseconde, sur un moteur qui fait travailler chaque cœur.

GET/s en pipeline, mesurés
36.6M
précision des TTL
ns
vos clients existants fonctionnent
RESP2/3
Étape 1 sur 5
Lire via le cache

Un succès revient directement de la mémoire. La base de données n'est pas sollicitée.

Session d’exempleplaying
# Lire via le cache
hotkv> GET product:1001
"{\"name\":\"Desk lamp\",\"price\":39}"

Une démonstration animée avec de vraies commandes HotKV et des exemples de réponses. Cliquez sur une étape pour y accéder directement. Les commandes et les réponses restent en anglais, exactement comme vous les saisissez et les voyez dans HotKV.

Le problème

Les bases de données sont lentes et coûteuses à solliciter pour des données lues des milliers de fois par seconde. Chaque affichage de page, appel d'API ou rafraîchissement de tableau de bord répète la même requête, et la base de données devient le goulot d'étranglement bien avant votre application.

Comment HotKV s'en charge

HotKV se place devant la base de données et garde les résultats en mémoire. Votre application lit d'abord dans HotKV et ne se rabat sur la base de données qu'en cas d'échec. Comme HotKV exécute les commandes sur de nombreux threads à la fois, un cache très sollicité ne fait pas passer tous les clients par un seul cœur, et les tags vous permettent d'invalider tout un groupe d'entrées quand les données sous-jacentes changent.

Étape par étape

Ce qui se passe, commande par commande

  1. 01

    Lire via le cache

    Un succès revient directement de la mémoire. La base de données n'est pas sollicitée.

    GET product:1001
  2. 02

    Échec, donc un chargement mis en cache

    En cas d'échec, l'application lit une fois la base de données et met le résultat en cache pour cinq minutes.

    SET product:2002 "{\"name\":\"Oak desk\",\"price\":420}" EX 300
  3. 03

    Étiqueter selon les dépendances

    Chaque page en cache qui affiche des produits d'éclairage porte le même tag.

    TAG.SET product:1001 catalog:lighting
  4. 04

    Invalider le groupe

    Les prix ont changé. Listez chaque clé portant le tag et supprimez-les dans un seul pipeline.

    TAG.MEMBERS catalog:lighting
  5. 05

    Des entrées très éphémères

    Un jeton flash, déjà défini, qui doit disparaître après 250 ms, avec une précision à la nanoseconde.

    NEXPIRE flash:token:9 250000000
Où cela s'applique

Scénarios concrets

Boutiques en ligne

Les pages produits, les prix et les niveaux de stock sont lus des milliers de fois par seconde et rafraîchis par tag quand le catalogue change.

API et backends mobiles

Les réponses des endpoints populaires sont mises en cache avec des TTL courts, et les pics de trafic touchent la mémoire au lieu de la base de données.

Sites de contenu

Les fragments rendus et les métadonnées des articles sont mis en cache pendant quelques minutes et invalidés par tag quand un éditeur publie.

Intégré

Ce que vous obtenez

TTL de la seconde à la nanoseconde

EXPIRE et PEXPIRE fonctionnent comme prévu. NEXPIRE ajoute la précision à la nanoseconde.

EXPIREPEXPIRENEXPIRE

Invalidation par tag

Étiquetez les clés avec TAG.SET, puis retrouvez chaque clé portant une étiquette.

TAG.SETTAG.MEMBERS

Compression en option

Les grosses charges utiles peuvent être compressées pour qu'une plus grande part de vos données actives tienne en mémoire.

Lectures multithread

Les commandes s'exécutent sur des threads parallèles, et le débit augmente avec le nombre de cœurs. Les chiffres sont sur la page Performances.

GETMGET

Questions fréquentes

Puis-je utiliser mon client Redis existant ?

HotKV parle le protocole Redis (RESP2 et RESP3), et les clients Redis standard s'y connectent. Vérifiez dans la référence des commandes celles dont vous dépendez.

Comment invalider un groupe de clés en cache ?

Étiquetez les clés avec TAG.SET au moment de les mettre en cache, puis appelez TAG.MEMBERS et supprimez ce qui est renvoyé.

D'où vient le chiffre de 36.6M ?

C'est le débit de GET en pipeline issu du benchmark publié de HotKV. La méthode et le matériel sont décrits sur la page Performances.

Cas d'usage associés

Essayez-le sur votre propre charge de travail

HotKV parle le protocole Redis. Vous pouvez donc y connecter un client existant et exécuter ces mêmes commandes.