Связывает ключ с пользователем и содержимым операции, а не глобальной строкой
Зачем
Зачем это нужно
Защищает запись уникальным ограничением от параллельных одинаковых запросов
Возвращает сохранённый статус и ответ, если первый вызов уже завершился
Вопросы
Частые вопросы
Кто генерирует ключ идемпотентности?
Обычно клиент для одного намерения пользователя и повторно отправляет тот же ключ при сетевом сбое. Новый осознанный заказ получает новый ключ. Сервер связывает его с владельцем и отпечатком запроса, чтобы случайное повторное использование для другого содержимого не вернуло чужой результат.
Достаточно ли проверить наличие записи перед созданием?
Нет: два параллельных запроса могут оба не увидеть запись и затем создать по одной. Нужна атомарная защита базы — уникальное ограничение или блокировка — и обработка конфликта. Модель соберёт транзакцию в вашем диалекте и не оставит гонку между SELECT и INSERT.
Как долго хранить ключи?
Дольше максимального окна повторов клиента и внешней операции, но не бесконечно без причины. Срок зависит от предметной области: платёж могут повторить спустя часы после ответа поддержки. Модель предложит очистку и архивирование, сохранив аудит там, где его требуют правила бизнеса.
Рядом
Соседние страницы каталога
Дальше — весь каталог задач: поиск по названию, темы и фильтры.