DBAtlas · Атлас эксплуатации баз данных

ERR increment or decrement would overflow: ERR: инкремент или декремент вызвал бы переполнение

Redis

Что это значит?

INCR/DECR (или INCRBY/DECRBY) отклонён, поскольку результат вышел бы за пределы диапазона 64-битного знакового целого. Значение превысило бы верхнюю или нижнюю границу.

Почему возникает?

Значение ключа очень близко к пределу int64 (около 9,2 квинтиллиона), так что инкремент/декремент вызывает переполнение, очень большой аргумент INCRBY или неконтролируемо растущий счётчик.

Как исправить

Проектируйте значения счётчиков так, чтобы они оставались в пределах int64. Для больших счётчиков применяйте масштабирование или периодический сброс. Держите приращение (аргумент INCRBY) в разумном диапазоне. Если требуются очень большие значения, используйте другую стратегию подсчёта на уровне приложения.

Открыть в DBAtlas →

Ещё по этой СУБД