Практическое задание

Эта задача — шаг 13 курса «Базы данных за вечер: SQLite, PostgreSQL, Redis»

Счётчик через INCRBY

легко~2 мин

В Redis есть счётчик hits со значением 37. Увеличь его на 25 одной атомарной командой INCRBY — без GET+SET и без перезаписи значения.

Что потренируешь:
  • redis
  • INCR
  • INCRBY
  • атомарность
  • счётчик

Разбор темы

INCR/INCRBY атомарно увеличивают целое число, хранящееся в ключе (создавая его с нуля, если ключа не было). Атомарность критична: при множестве клиентов последовательность «GET → +1 → SET» теряет обновления в гонке, а INCR выполняется на сервере одной неделимой операцией. Симметричны DECR/DECRBY, а для дробных — INCRBYFLOAT. Такие счётчики — типовой приём для метрик, лимитов частоты и генерации ID.

Что проверяется

  1. счётчик увеличен на 25
  2. атомарный INCRBY, без SET

Как это выглядит