connect-redis - как защитить объект сеанса от состояния гонки
Я использую nodejs с connect-redis для хранения данных сеанса.
Я сохраняю пользовательские данные в сеансе и использую их в течение времени жизни сеанса.
Я заметил, что возможно иметь состояние гонки между двумя запросами, которое изменяет данные сеанса.
Я пытался использовать redis-lock для блокировки сеанса, но это немного проблематично для меня.
Я не хочу блокировать весь сеанс, а вместо этого блокировать только определенную переменную сеанса.
Я нашел это невозможным, и я подумал о направлении, чтобы решить это:
прекратить использование объекта сеанса для хранения пользовательских данных и сохранить переменную непосредственно в Redis и заблокировать перед ее использованием.
Я знаю, что это может работать, но для этого потребуется, чтобы я управлял всеми объектами вручную, а не просто обращался к redis через объект сеанса.
Не могли бы вы поделиться со мной лучшей практикой и вашими предложениями?
Спасибо, Лиор