Idempotency — идемпотентность, то есть свойство операции, при котором её повторное выполнение не изменяет результат после первого применения.
Термин особенно часто используется в математике, программировании, базах данных и веб-API. Например, если запрос на установку значения повторить несколько раз, итоговое состояние останется таким же, как после первого запроса.
Простой пример: операция «установить громкость на 50%» идемпотентна, а операция «увеличить громкость на 10%» — нет.
Близкие понятия:
- идемпотентная операция;
- повторяемость без дополнительного эффекта;
- устойчивость к повторному выполнению;
- безопасный повтор запроса — близкое, но не всегда полностью равнозначное выражение.
Этимология: слово происходит от латинских элементов idem — «тот же самый» и potentia — «сила, возможность». Термин появился в математике, а позднее получил широкое распространение в информатике.
Примеры:
- Idempotency ensures that retrying the request will not create another order. — Идемпотентность гарантирует, что повторная отправка запроса не создаст ещё один заказ.
- This API uses an idempotency key to prevent duplicate payments. — Этот API использует ключ идемпотентности для предотвращения повторных платежей.
- Deleting the same file twice demonstrates idempotency if the final state remains unchanged. — Повторное удаление одного файла демонстрирует идемпотентность, если конечное состояние не меняется.
- Idempotency is important when a network failure causes the client to retry an operation. — Идемпотентность важна, когда из-за сетевого сбоя клиент повторяет операцию.
- Setting a database field to a fixed value has idempotency, unlike incrementing it. — Установка фиксированного значения поля базы данных обладает свойством идемпотентности, в отличие от его увеличения.
- The developer added idempotency support to the payment endpoint. — Разработчик добавил поддержку идемпотентности в конечную точку обработки платежей.