INCRBYFLOAT
INCRBYFLOAT
INCRBYFLOAT key increment
- Доступно с версии:
- 2.6.0
- Сложность:
- O(1)
- Категории ACL:
-
@write,@string,@fast,
Увеличивает строку, представляющую число с плавающей точкой, хранящееся по ключу key, на указанное значение increment. Использование отрицательного значения increment приводит к уменьшению значения по ключу. Если ключ не существует, он устанавливается в 0 перед выполнением операции. Возвращается ошибка в следующих случаях:
- Ключ содержит значение неверного типа (не строка).
- Текущее содержимое ключа или указанное приращение не могут быть обработаны как число двойной точности с плавающей точкой.
В случае успеха, новое увеличенное значение сохраняется в качестве нового значения ключа (заменяя старое) и возвращается вызывающей стороне в виде строки.
Как значение, уже содержащееся в строковом ключе, так и аргумент приращения могут быть необязательно заданы в экспоненциальной записи, однако вычисленное значение после приращения сохраняется в том же формате, то есть целое число, за которым (при необходимости) следует точка и переменное число цифр, представляющих десятичную часть числа. При этом хвостовые нули всегда удаляются.
Точность вывода фиксирована в 17 знаках после запятой, независимо от фактической внутренней точности вычисления.
Возврат
Строковый ответ: значение key после приращения.
Примеры
SET mykey 10.50 INCRBYFLOAT mykey 0.1 INCRBYFLOAT mykey -5 SET mykey 5.0e3 INCRBYFLOAT mykey 2.0e2
Детали реализации
Команда всегда передаётся в канале репликации и файле Append Only как операция SET, чтобы различия в реализации математических операций с плавающей точкой не приводили к несогласованности.
© 2006–2022 Salvatore Sanfilippo
Licensed under the Creative Commons Attribution-ShareAlike License 4.0.
https://redis.io/commands/incrbyfloat/