KerndataWeb en mobiel

Sessiebeheer

Sla sessies op met automatische verloopdatum, en vind of trek ze in per gebruiker, rol of apparaat zonder een index te bouwen.

opzoeking om de sessies van een gebruiker te vinden
1
secundaire indexen
0
verloop, tags inbegrepen
Auto
Stap 1 van 5
Inloggen op drie apparaten

Elk apparaat krijgt een eigen sessie die na 30 minuten verloopt.

Voorbeeldsessieplaying
# Inloggen op drie apparaten
hotkv> SET session:9f2c "{\"user\":42}" EX 1800
OK

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.

Het probleem

Sessies zijn klein, hot en kortlevend, wat past bij een in-memory store. Het lastige komt later, wanneer support een gebruiker overal moet uitloggen, of security elke sessie voor een rol of een apparaat moet beëindigen. Een gewone key-valuestore kan een sessie alleen opzoeken op zijn id.

Hoe HotKV het aanpakt

HotKV slaat elke sessie op als een sleutel met een verloopdatum en laat je hem taggen met de gebruiker, rol of het apparaat waartoe hij behoort. Tags maken deel uit van de engine en verdwijnen met de sleutel, zodat je alle bijpassende sessies met één opzoeking kunt opsommen of intrekken in plaats van een parallelle set sleutels bij te houden.

Stap voor stap

Wat er gebeurt, commando voor commando

  1. 01

    Inloggen op drie apparaten

    Elk apparaat krijgt een eigen sessie die na 30 minuten verloopt.

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

    Elke sessie taggen

    Gebruiker, rol en apparaat worden direct nadat de sessie is aangemaakt gekoppeld.

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

    Ingelogd blijven zolang je actief bent

    Elk verzoek ververst de verloopdatum, wat een schuivende time-out geeft.

    EXPIRE session:9f2c 1800
  4. 04

    Alle sessies van gebruiker 42 vinden

    Een gestolen laptop wordt gemeld. Eén opzoeking geeft alle sessies van de gebruiker terug.

    TAG.MEMBERS user:42
  5. 05

    Overal uitloggen

    Verwijder de sleutels die terugkwamen. Hun tags gaan met ze mee en elk apparaat wordt uitgelogd.

    DEL session:9f2c session:71aa session:0c8e
Waar het past

Praktijkscenario's

Bank- en fintechapps

Securityteams beëindigen alle sessies van een gecompromitteerd account, of van elk apparaat met een verouderde appversie, in één handeling.

SaaS-producten

Wanneer de rol van een beheerder wordt verwijderd, wordt elke sessie met die rol tag in één keer ingetrokken.

Streamingdiensten

Tel en beperk gelijktijdige sessies per account aan de hand van het antwoord van TAG.MEMBERS voor de gebruikerstag.

Ingebouwd

Wat je krijgt

Automatische verloopdatum

Sessies verdwijnen vanzelf wanneer de TTL afloopt, en hun tags gaan met ze mee.

EXEXPIRE

Opzoeken zonder index

Vind sessies op elke tag, of op meerdere tags tegelijk.

TAG.MEMBERSTAG.INTER

Tags snel controleren

TAG.COUNT en TAG.EXISTS vertellen je wat een sleutel draagt.

TAG.COUNTTAG.EXISTS

Snel bij loginpieken

Sessie-reads en -writes draaien op parallelle threads.

Veelgestelde vragen

Hoe log ik een gebruiker uit op slechts één apparaat?

Gebruik TAG.INTER met de gebruikerstag en de apparaattag en verwijder daarna de sleutels die het teruggeeft.

Wat gebeurt er met een tag wanneer zijn sessie verloopt?

De tags van een sleutel verdwijnen wanneer de sleutel verdwijnt, ook bij verloop. Tags maken geen deel uit van snapshots, dus pas ze opnieuw toe als de server vanuit een snapshot herstart.

Kan ik gelijktijdige sessies per account beperken?

Ja. TAG.MEMBERS op de gebruikerstag somt de sessies op, dus je kunt ze tellen en bij het inloggen de oudste weigeren of beëindigen.

Verwante use cases

Probeer het op je eigen workload

HotKV spreekt het Redis-protocol, dus je kunt een bestaande client erop richten en dezelfde commando's uitvoeren.