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