INCRBYFLOAT
语法
INCRBYFLOAT key increment
- 可用版本
- Redis 开源版 2.6.0
- 时间复杂度
- O(1)
- ACL 类别
-
@write
,@string
,@fast
,
将存储在 key
处的表示浮点数的字符串值按指定的 increment
值进行递增。如果使用负数的 increment
值,则结果是存储在键上的值会被递减(根据加法的显而易见的性质)。如果键不存在,则在执行操作之前将其设置为 0
。如果发生以下任一情况,将返回错误:
- 键包含错误类型的值(非字符串)。
- 当前的键内容或指定的递增值无法解析为双精度浮点数。
如果命令成功,新的递增值将存储为键的新值(替换旧值),并作为字符串返回给调用者。
字符串键中已包含的值和递增参数都可以可选地以指数记法提供,然而递增后计算出的值将始终以相同的格式存储,即一个整数,后跟(如果需要)一个点,以及表示数字小数部分的变长数字序列。末尾的零总是被移除。
无论实际内部计算的精度如何,输出的精度都固定为小数点后 17 位。
示例
实现细节
该命令总是作为 SET
操作传播到复制链接和 AOF(Append Only File)文件,这样底层浮点数学实现的差异就不会导致不一致。