美文网首页
计数:增量 和 减量

计数:增量 和 减量

作者: 闲云野鹤_23dd | 来源:发表于2020-12-08 19:46 被阅读0次

    INCRBY

    INCR key 增量数字
    
    

    为键 key 储存的数字值加上增量 数字 。

    如果键 key 不存在, 那么键 key 的值会先被初始化为 0 , 然后再执行 INCRBY 命令。
    如果键 key 储存的值不能被解释为数字, 那么 INCRBY 命令将返回一个错误。

    例子:
    键存在,并且值为数字:

    redis> SET rank 50
    OK
    
    redis> INCRBY rank 20
    70
    
    redis> GET rank
    "70"
    
    

    键不存在:

    redis> EXISTS counter
    0
    
    redis> INCRBY counter 30
    30
    
    redis> GET counter
    "30"
    
    

    键存在,但值无法被解释为数字:

    redis> SET book "long long ago..."
    OK
    redis> INCRBY book 200
    (error) ERR value is not an integer or out of range
    
    

    INCRBYFLOAT

    INCRBYFLOAT key 增量小数
    
    

    为键 key 储存的值加上浮点数增量小数。

    如果键 key 不存在, 那么 INCRBYFLOAT 会先将键 key 的值设为 0 , 然后再执行加法操作。
    如果命令执行成功, 那么键 key 的值会被更新为执行加法计算之后的新值, 并且新值会以字符串的形式返回给调用者。
    无论加法计算所得的浮点数的实际精度有多长, INCRBYFLOAT 命令的计算结果最多只保留小数点的后十七位。

    当以下任意一个条件发生时, 命令返回一个错误:
    键 key 的值不是字符串类型(因为 Redis 中的数字和浮点数都以字符串的形式保存,所以它们都属于字符串类型);
    键 key 当前的值或者给定的增量小数 不能被解释(parse)为双精度浮点数。

    例子:

    redis> GET counter
    "30"
    
    redis> INCRBYFLOAT counter 2.56
    "32.56"
    
    redis> GET counter
    "32.56"
    
    

    DECRBY

    DECRBY key 减量
    
    

    将键 key 储存的整数值减去减量 decrement 。

    如果键 key 不存在, 那么键 key 的值会先被初始化为 0 , 然后再执行 DECRBY 命令。
    如果键 key 储存的值不能被解释为数字, 那么 DECRBY 命令将返回一个错误。
    DECRBY 命令会返回键在执行减法操作之后的值。

    例子:
    对已经存在的键执行 DECRBY 命令:

    redis> SET count 100
    OK
    redis> DECRBY count 20
    80
    
    

    对不存在的键执行 DECRBY 命令:

    redis> EXISTS pages
    0
    
    redis> DECRBY pages 10
    -10
    

    相关文章

      网友评论

          本文标题:计数:增量 和 减量

          本文链接:https://www.haomeiwen.com/subject/gifxbktx.html