KärndataWebb och mobil

Sessionshantering

Lagra sessioner med automatisk utgång, och hitta eller återkalla dem per användare, roll eller enhet utan att bygga ett index.

uppslag för att hitta en användares sessioner
1
sekundära index
0
utgång, taggar inräknade
Auto
Steg 1 av 5
Logga in på tre enheter

Varje enhet får sin egen session med 30 minuters utgångstid.

Exempelsessionplaying
# Logga in på tre enheter
hotkv> SET session:9f2c "{\"user\":42}" EX 1800
OK

En animerad genomgång med riktiga HotKV-kommandon och exempelsvar. Klicka på valfritt steg för att hoppa dit. Kommandon och svar förblir på engelska, precis som du skriver och ser dem i HotKV.

Problemet

Sessioner är små, heta och kortlivade, vilket passar ett lager i minnet. Det svåra kommer senare, när supporten behöver logga ut en användare överallt, eller säkerhetsteamet behöver avsluta varje session för en roll eller en enhet. Ett vanligt nyckel-värde-lager kan bara slå upp en session via dess id.

Så löser HotKV det

HotKV lagrar varje session som en nyckel med en utgångstid och låter dig tagga den med den användare, roll eller enhet den tillhör. Taggar är en del av motorn och försvinner med nyckeln, så du kan lista eller återkalla alla matchande sessioner med ett enda uppslag i stället för att underhålla en parallell uppsättning nycklar.

Steg för steg

Vad som händer, kommando för kommando

  1. 01

    Logga in på tre enheter

    Varje enhet får sin egen session med 30 minuters utgångstid.

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

    Tagga varje session

    Användare, roll och enhet bifogas direkt efter att sessionen skapats.

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

    Förbli inloggad medan du är aktiv

    Varje förfrågan förnyar utgångstiden, vilket ger en glidande tidsgräns.

    EXPIRE session:9f2c 1800
  4. 04

    Hitta varje session för användare 42

    En stulen bärbar dator anmäls. Ett uppslag returnerar alla användarens sessioner.

    TAG.MEMBERS user:42
  5. 05

    Logga ut överallt

    Radera nycklarna som kom tillbaka. Deras taggar försvinner med dem, och varje enhet loggas ut.

    DEL session:9f2c session:71aa session:0c8e
Där det passar

Verkliga scenarier

Bank- och fintechappar

Säkerhetsteam avslutar alla sessioner för ett komprometterat konto, eller för varje enhet med en föråldrad appversion, i en enda åtgärd.

SaaS-produkter

När en admins roll tas bort återkallas varje session som är taggad med den rollen på en gång.

Streamingtjänster

Räkna och begränsa samtidiga sessioner per konto utifrån svaret från TAG.MEMBERS för användartaggen.

Inbyggt

Det här får du

Automatisk utgång

Sessioner försvinner av sig själva när TTL går ut, och deras taggar försvinner med dem.

EXEXPIRE

Uppslag utan index

Hitta sessioner via valfri tagg, eller via flera taggar samtidigt.

TAG.MEMBERSTAG.INTER

Kontrollera taggar snabbt

TAG.COUNT och TAG.EXISTS visar vad en nyckel bär.

TAG.COUNTTAG.EXISTS

Snabb under inloggningsstormar

Läsningar och skrivningar av sessioner körs på parallella trådar.

Vanliga frågor

Hur loggar jag ut en användare från bara en enhet?

Använd TAG.INTER med användartaggen och enhetstaggen, och radera sedan nycklarna som returneras.

Vad händer med en tagg när dess session löper ut?

En nyckels taggar försvinner när nyckeln gör det, även vid utgång. Taggar ingår inte i snapshots, så tillämpa dem igen om servern startar om från en snapshot.

Kan jag begränsa samtidiga sessioner per konto?

Ja. TAG.MEMBERS på användartaggen listar sessionerna, så att du kan räkna dem och neka eller avsluta den äldsta vid inloggning.

Relaterade användningsfall

Prova på din egen arbetslast

HotKV talar Redis-protokollet, så du kan peka en befintlig klient mot det och köra samma kommandon.