Redis - jak poprawnie przechowywać i usunąć dane określonego typu

0

Hej,
Załóżmy, że przechowuję sobie w Redisie loginy osób, które podały poprawne hasło dostępu do czegośtam.
SADD "access" "login-uzytkownika"
Pomyślałem, żeby odcinać loginy jeżeli jest za dużo prób logowania (mniejsza o zasadność odcinania per login, to tylko przykład)
INCR "attempts-login-uzytkownika"

W przypadku, gdy chcę usunąć wszystkie dane związane z użytkownikiem to jest spoko:
SREM "access" "login-uzytkownika"
DEL "attempts-login-uzytkownika"

Ale chciałbym też usuwać wszystkie-wszystkie dane związane z wszystkimi użytkownikami:
DEL "access"
...

No właśnie, co tutaj? Jak usunąć wszystkie attempts-? KEYS nie jest zalecane na produkcji, moja baza będzie malutka, ale nie chciałbym tego łamać "bo to małe jest", tylko nauczyć się jak poprawnie przechować dane takiego rodzaju. Jest to już pewna relacja niestety i może Redis w ogóle się do tego nie nadaje?

0

Czemu nie skorzystać by z https://redis.io/commands/scan ?

0

Może skorzystaj z sorted setów?

Dodawanie próby dostępu: ZADD
Wyciągnięcie ile prób miał dany user: ZSCORE
Usunięcie wszystkiego: zwyczajne DEL względem zbioru.
Przy okazji za darmo: ZREVRANGE - dostajesz ranking kto najwięcej/najmniej próbował się logować

1 użytkowników online, w tym zalogowanych: 0, gości: 1