Spec-Zone.ru › Redis

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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API