Données de baseWeb et mobile

Gestion des sessions

Stockez les sessions avec expiration automatique, et retrouvez-les ou révoquez-les par utilisateur, rôle ou appareil sans construire d'index.

recherche pour les sessions d'un utilisateur
1
index secondaire
0
expiration, tags compris
Automatique
Étape 1 sur 5
Connexion sur trois appareils

Chaque appareil obtient sa propre session, qui expire au bout de 30 minutes.

Session d’exempleplaying
# Connexion sur trois appareils
hotkv> SET session:9f2c "{\"user\":42}" EX 1800
OK

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 sessions sont petites, très sollicitées et de courte durée, ce qui convient bien à un stockage en mémoire. La difficulté arrive plus tard, quand le support doit déconnecter un utilisateur partout, ou quand la sécurité doit mettre fin à toutes les sessions d'un rôle ou d'un appareil. Un simple stockage clé-valeur ne peut retrouver une session que par son identifiant.

Comment HotKV s'en charge

HotKV stocke chaque session sous forme de clé avec une expiration et vous permet de l'étiqueter avec l'utilisateur, le rôle ou l'appareil auquel elle appartient. Les tags font partie du moteur et disparaissent avec la clé. Vous pouvez donc lister ou révoquer toutes les sessions correspondantes en une seule recherche, au lieu d'entretenir un ensemble parallèle de clés.

Étape par étape

Ce qui se passe, commande par commande

  1. 01

    Connexion sur trois appareils

    Chaque appareil obtient sa propre session, qui expire au bout de 30 minutes.

    SET session:9f2c "{\"user\":42}" EX 1800
  2. 02

    Étiqueter chaque session

    L'utilisateur, le rôle et l'appareil sont associés juste après la création de la session.

    TAG.SET session:9f2c user:42 role:admin device:ios
  3. 03

    Rester connecté tant qu'on est actif

    Chaque requête renouvelle l'expiration, ce qui donne un délai d'expiration glissant.

    EXPIRE session:9f2c 1800
  4. 04

    Trouver chaque session de l'utilisateur 42

    Un ordinateur portable volé est signalé. Une seule recherche renvoie toutes les sessions de l'utilisateur.

    TAG.MEMBERS user:42
  5. 05

    Déconnexion partout

    Supprimez les clés renvoyées. Leurs tags disparaissent avec elles, et chaque appareil est déconnecté.

    DEL session:9f2c session:71aa session:0c8e
Où cela s'applique

Scénarios concrets

Banque et fintech

Les équipes de sécurité mettent fin à toutes les sessions d'un compte compromis, ou de chaque appareil sur une version obsolète de l'app, en une seule action.

Produits SaaS

Quand le rôle d'un administrateur lui est retiré, chaque session étiquetée avec ce rôle est révoquée d'un coup.

Services de streaming

Comptez et limitez les sessions simultanées par compte à partir de la réponse de TAG.MEMBERS pour le tag de l'utilisateur.

Intégré

Ce que vous obtenez

Expiration automatique

Les sessions disparaissent d'elles-mêmes à l'expiration du TTL, et leurs tags avec elles.

EXEXPIRE

Recherche sans index

Retrouvez les sessions par n'importe quel tag, ou par plusieurs tags à la fois.

TAG.MEMBERSTAG.INTER

Vérification rapide des tags

TAG.COUNT et TAG.EXISTS indiquent ce que porte une clé.

TAG.COUNTTAG.EXISTS

Rapide lors des rushs de connexion

Les lectures et écritures de sessions s'exécutent sur des threads parallèles.

Questions fréquentes

Comment déconnecter un utilisateur d'un seul appareil ?

Utilisez TAG.INTER avec le tag de l'utilisateur et celui de l'appareil, puis supprimez les clés renvoyées.

Que devient un tag quand sa session expire ?

Les tags d'une clé disparaissent avec elle, y compris à l'expiration. Les tags ne font pas partie des snapshots, réappliquez-les donc si le serveur redémarre depuis un snapshot.

Puis-je limiter les sessions simultanées par compte ?

Oui. TAG.MEMBERS sur le tag de l'utilisateur liste les sessions. Vous pouvez les compter, puis refuser la connexion ou mettre fin à la plus ancienne.

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.