Проверяет понимание принципов атомарности в Redis и работы его однопоточной архитектуры.
Redis — однопоточный. Все команды выполняются последовательно, без прерываний. INCR атомарен, потому что во время его выполнения другие операции не обрабатываются.
Redis использует event loop — команды обрабатываются по очереди в одном потоке.
Нет preemption или контекстных переключений.
Команда INCR key делает:
Проверку существования ключа.
Преобразование значения в число.
Увеличение на 1.
Запись нового значения.
Так как в момент исполнения никакие другие клиенты не выполняются — операция полностью атомарна.
Даже если 100 клиентов делают INCR, Redis гарантирует, что итоговое значение будет корректным.
Вывод:
В Redis атомарность обеспечивается однопоточностью и отсутствием конкурентных операций, что делает INCR и аналогичные команды безопасными без транзакций.