Dati di baseWeb e mobile

Gestione delle sessioni

Salva le sessioni con scadenza automatica, e trovale o revocale per utente, ruolo o dispositivo senza costruire un indice.

lookup per trovare le sessioni di un utente
1
indici secondari
0
scadenza, tag compresi
Automatica
Passo 1 di 5
Accesso su tre dispositivi

Ogni dispositivo riceve la propria sessione con una scadenza di 30 minuti.

Sessione di esempioplaying
# Accesso su tre dispositivi
hotkv> SET session:9f2c "{\"user\":42}" EX 1800
OK

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.

Il problema

Le sessioni sono piccole, molto usate e di breve durata, ed è per questo che si adattano a uno store in memoria. La parte difficile arriva dopo, quando il supporto deve disconnettere un utente ovunque, o la sicurezza deve chiudere ogni sessione di un ruolo o di un dispositivo. Un semplice store chiave-valore può cercare una sessione solo per id.

Come lo gestisce HotKV

HotKV salva ogni sessione come una chiave con una scadenza e ti permette di taggarla con l'utente, il ruolo o il dispositivo a cui appartiene. I tag fanno parte del motore e spariscono con la chiave, così puoi elencare o revocare tutte le sessioni corrispondenti con un solo lookup invece di mantenere un insieme parallelo di chiavi.

Passo dopo passo

Cosa succede, comando per comando

  1. 01

    Accesso su tre dispositivi

    Ogni dispositivo riceve la propria sessione con una scadenza di 30 minuti.

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

    Tagga ogni sessione

    Utente, ruolo e dispositivo vengono associati subito dopo la creazione della sessione.

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

    Resta connesso finché sei attivo

    Ogni richiesta rinnova la scadenza, il che dà un timeout scorrevole.

    EXPIRE session:9f2c 1800
  4. 04

    Trova ogni sessione dell'utente 42

    Viene segnalato un laptop rubato. Un solo lookup restituisce tutte le sessioni dell'utente.

    TAG.MEMBERS user:42
  5. 05

    Disconnetti ovunque

    Cancella le chiavi restituite. I loro tag se ne vanno con loro, e ogni dispositivo viene disconnesso.

    DEL session:9f2c session:71aa session:0c8e
Dove si usa

Scenari reali

App bancarie e fintech

I team di sicurezza chiudono tutte le sessioni di un account compromesso, o di ogni dispositivo con una versione obsoleta dell'app, in un'unica azione.

Prodotti SaaS

Quando a un admin viene tolto un ruolo, ogni sessione taggata con quel ruolo viene revocata subito.

Servizi di streaming

Conta e limita le sessioni concorrenti per account a partire dalla risposta di TAG.MEMBERS per il tag dell'utente.

Integrato

Cosa ottieni

Scadenza automatica

Le sessioni spariscono da sole quando il TTL si esaurisce, e i loro tag con loro.

EXEXPIRE

Lookup senza indice

Trova le sessioni per qualsiasi tag, o per più tag insieme.

TAG.MEMBERSTAG.INTER

Controllo rapido dei tag

TAG.COUNT e TAG.EXISTS ti dicono cosa porta una chiave.

TAG.COUNTTAG.EXISTS

Veloce anche sotto ondate di login

Letture e scritture delle sessioni girano su thread paralleli.

Domande frequenti

Come disconnetto un utente da un solo dispositivo?

Usa TAG.INTER con il tag dell'utente e il tag del dispositivo, poi cancella le chiavi che restituisce.

Cosa succede a un tag quando la sua sessione scade?

I tag di una chiave se ne vanno con la chiave, anche alla scadenza. I tag non fanno parte degli snapshot, quindi riapplicali se il server riparte da uno snapshot.

Posso limitare le sessioni concorrenti per account?

Sì. TAG.MEMBERS sul tag dell'utente elenca le sessioni, così puoi contarle e, all'accesso, rifiutare o chiudere la più vecchia.

Casi d'uso correlati

Provalo sul tuo carico di lavoro

HotKV parla il protocollo Redis, quindi puoi puntarci un client esistente ed eseguire questi stessi comandi.