Dữ liệu lõiWeb và di động

Quản lý phiên

Lưu phiên với thời hạn tự động, và tìm hoặc thu hồi chúng theo người dùng, vai trò hoặc thiết bị mà không cần xây chỉ mục.

lần tra cứu để tìm các phiên của một người dùng
1
chỉ mục phụ
0
hết hạn, gồm cả thẻ
Tự động
Bước 1 trên 5
Đăng nhập trên ba thiết bị

Mỗi thiết bị có phiên riêng với thời hạn 30 phút.

Phiên ví dụplaying
# Đăng nhập trên ba thiết bị
hotkv> SET session:9f2c "{\"user\":42}" EX 1800
OK

Một hướng dẫn minh họa động với các lệnh HotKV thật và phản hồi ví dụ. Nhấn vào bất kỳ bước nào để nhảy tới đó. Lệnh và phản hồi giữ nguyên bằng tiếng Anh, đúng như bạn gõ và thấy trong HotKV.

Vấn đề

Phiên nhỏ, nóng và tồn tại ngắn, rất hợp với một kho in-memory. Phần khó đến sau, khi bộ phận hỗ trợ cần đăng xuất người dùng ở mọi nơi, hoặc bảo mật cần kết thúc mọi phiên của một vai trò hay một thiết bị. Một kho khóa-giá trị thuần túy chỉ tra cứu được phiên theo id của nó.

HotKV xử lý như thế nào

HotKV lưu mỗi phiên như một khóa có thời hạn và cho phép bạn gắn thẻ nó với người dùng, vai trò hoặc thiết bị mà nó thuộc về. Thẻ là một phần của engine và biến mất cùng khóa, nên bạn có thể liệt kê hoặc thu hồi mọi phiên khớp chỉ bằng một lần tra cứu thay vì duy trì một tập khóa song song.

Từng bước một

Điều gì xảy ra, từng lệnh một

  1. 01

    Đăng nhập trên ba thiết bị

    Mỗi thiết bị có phiên riêng với thời hạn 30 phút.

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

    Gắn thẻ cho mỗi phiên

    Người dùng, vai trò và thiết bị được gắn ngay sau khi phiên được tạo.

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

    Vẫn đăng nhập khi đang hoạt động

    Mỗi yêu cầu làm mới thời hạn, tạo ra thời gian chờ trượt.

    EXPIRE session:9f2c 1800
  4. 04

    Tìm mọi phiên của người dùng 42

    Một laptop bị đánh cắp được báo cáo. Một lần tra cứu trả về mọi phiên của người dùng.

    TAG.MEMBERS user:42
  5. 05

    Đăng xuất ở mọi nơi

    Xóa các khóa vừa trả về. Thẻ của chúng đi theo, và mọi thiết bị đều bị đăng xuất.

    DEL session:9f2c session:71aa session:0c8e
Phù hợp ở đâu

Các tình huống thực tế

Ứng dụng ngân hàng và fintech

Các nhóm bảo mật kết thúc mọi phiên của một tài khoản bị xâm phạm, hoặc của mọi thiết bị trên một phiên bản ứng dụng lỗi thời, chỉ trong một thao tác.

Sản phẩm SaaS

Khi vai trò của một quản trị viên bị gỡ, mọi phiên được gắn thẻ vai trò đó bị thu hồi cùng lúc.

Dịch vụ streaming

Đếm và giới hạn số phiên đồng thời cho mỗi tài khoản từ phản hồi TAG.MEMBERS của thẻ người dùng.

Tích hợp sẵn

Bạn nhận được gì

Hết hạn tự động

Phiên tự biến mất khi TTL hết, và thẻ của chúng đi theo.

EXEXPIRE

Tra cứu không cần chỉ mục

Tìm phiên theo bất kỳ thẻ nào, hoặc theo nhiều thẻ cùng lúc.

TAG.MEMBERSTAG.INTER

Kiểm tra thẻ nhanh

TAG.COUNT và TAG.EXISTS cho bạn biết một khóa mang gì.

TAG.COUNTTAG.EXISTS

Nhanh khi đăng nhập dồn dập

Đọc và ghi phiên chạy trên các luồng song song.

Câu hỏi thường gặp

Làm sao đăng xuất người dùng chỉ khỏi một thiết bị?

Dùng TAG.INTER với thẻ người dùng và thẻ thiết bị, rồi xóa các khóa nó trả về.

Điều gì xảy ra với một thẻ khi phiên của nó hết hạn?

Thẻ của một khóa biến mất cùng khóa, kể cả khi hết hạn. Thẻ không nằm trong snapshot, nên hãy gắn lại nếu máy chủ khởi động lại từ snapshot.

Tôi có thể giới hạn số phiên đồng thời cho mỗi tài khoản không?

Có. TAG.MEMBERS trên thẻ người dùng liệt kê các phiên, nên bạn có thể đếm chúng và từ chối hoặc kết thúc phiên cũ nhất khi đăng nhập.

Trường hợp sử dụng liên quan

Thử trên khối lượng công việc của chính bạn

HotKV nói giao thức Redis, nên bạn có thể trỏ một client hiện có tới nó và chạy chính những lệnh này.