@komarevtsev

Транзакции в redis?

Есть приложение на node js которое запускаю через cluster. В дочерних процессах есть некий request к внешнему апи, его я хочу делать через proxy
Я пытаюсь реализовать систему очередей прокси, то есть по очереди использовать каждую. Я сделал массив из прокси и записываю номер прокси в redis. При следующем запросе беру этот номер увеличиваю на один и беру следующую прокси. Но допустим ситуацию, у нас приходит 2 запроса одновременно на дочерние процессы, они оба обращаются к redis и получают одно и тоже значение, следовательно прокси будет использована 2 раза подряд. Как правильно решить эту проблему, потому что транзакции в redis не дают возможность блокировать поток чтения?
  • Вопрос задан
  • 1104 просмотра
Пригласить эксперта
Ответы на вопрос 2
@sh84
Что мешает использовать блокировку отдельно (что-то вроде SET key NX PX 1000)? Получить блокировку, увеличить счетчик, снять блокировку.
Ответ написан
Insolita
@Insolita
Отчаянная домохозяйка
[b]rpoplpush
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы