connect-redis - jak chronić obiekt sesji przed warunkami wyścigu

Używam nodejs z connect-redis do przechowywania danych sesji.

Zapisuję dane użytkownika w sesji i używam go w życiu sesji.

Zauważyłem, że możliwe jest posiadanie warunków wyścigu między dwoma żądaniami, które zmieniają dane sesji.

Próbowałem użyć redis-lock, aby zablokować sesję, ale jest to dla mnie trochę problematyczne.

Nie chcę blokować całej sesji, ale zamykać tylko określoną zmienną sesji.

Stwierdziłem, że to niemożliwe, i pomyślałem o kierunku rozwiązania:

przestać używać obiektu sesji do przechowywania danych użytkownika i zapisać zmienną bezpośrednio w redis i zablokować przed użyciem.

Wiem, że może działać, ale będzie wymagać ode mnie ręcznego zarządzania wszystkimi obiektami, a nie tylko dostępu do redis przez obiekt sesji.

Czy możesz podzielić się ze mną najlepszymi praktykami i sugestiami?

Dzięki, Lior

questionAnswers(1)

yourAnswerToTheQuestion