云数据库 GEMINIDB-exHash命令列表:复杂命令、选项详细介绍

时间:2023-12-28 20:09:30

复杂命令、选项详细介绍

  • EXHSET
    表2 EXHSET命令介绍

    类别

    说明

    语法

    EXHSET key field value [EX time] [EXAT time] [PX time] [PXAT time] [NX | XX] [VER | ABS version] [KEEPTTL]

    命令描述

    向Key指定的exHash中插入一个field。如果exHash不存在则自动创建一个,如果field已经存在则覆盖其值。

    为Key的field设置了超时时间后,再次执行该命令时如果没有设置超时时间,该field将被设置为永不过期。

    选项

    Key:exHash的key,用于指定作为命令调用对象的exHash。

    field:exHash中的一个元素,一个exHash key可以有多个field。

    value:field对应的值,一个field只能有一个value。

    EX:指定field的相对过期时间,单位为秒,为0表示马上过期,不传此参数表示不过期。

    EXAT:指定field的绝对过期时间,单位为秒,为0表示马上过期,不传此参数表示不过期。

    PX:指定field的相对过期时间,单位为毫秒,为0表示马上过期,不传此参数表示不过期。

    PXAT:指定field的绝对过期时间,单位为毫秒 ,为0表示马上过期,不传此参数表示不过期。

    NX:只在field不存在时插入。

    XX:只在field存在时插入。

    VER:版本号。如果field存在,和当前版本号做比较:如果相等,继续操作,且版本号加1。如果不相等,返回异常。如果field不存在或者field当前版本为0,忽略传入的版本号并继续操作,成功后版本号变为1。

    GT:比当前更大的版本号(Greater Than),设置的版本号如果比当前的版本号小,则返回失败。

    ABS:绝对版本号,不论field是否存在,可以在插入field时设置为本参数所指定的版本号。

    KEEPTTL:在不指定EX、EXAT、PX或PXAT选项时,使用KEEPTTL选项会保留field当前的过期设置。

    返回值

    新建field并成功为它设置值:1。

    field已经存在,成功覆盖旧值:0。

    指定了XX且field不存在:-1。

    指定了NX且field已经存在:-1。

    指定了VER且版本和当前版本不匹配:"ERR update version is stale"。

    其它情况返回相应的异常信息。

    • 示例

      field过期示例:

      field支持version示例:

  • EXHINCRBY
    表3 EXHINCRBY命令介绍

    类别

    说明

    语法

    EXHINCRBY key field num [EX time] [EXAT time] [PX time] [PXAT time] [VER | ABS version] [MIN minval] [MAX maxval] [KEEPTTL]

    命令描述

    将Key指定的TairHash中一个field的value增加num,num为一个整数。如果TairHash不存在则自动新创建一个,如果指定的field不存在,则在加之前插入该field并将其值设置为0。

    为Key的field设置了超时时间后,再次执行该命令时如果没有设置超时时间,该field将被设置为永不过期。

    选项

    Key:exHash的key,用于指定作为命令调用对象的exHash。

    field:exHash中的一个元素,一个exHash key可以有多个field。

    num:需要为field的value增加的整数值。

    EX:指定field的相对过期时间,单位为秒,为0表示马上过期,不传此参数表示不过期。

    EXAT:指定field的绝对过期时间,单位为秒,为0表示马上过期,不传此参数表示不过期。

    PX:指定field的相对过期时间,单位为毫秒,为0表示马上过期,不传此参数表示不过期。

    PXAT:指定field的绝对过期时间,单位为毫秒 ,为0表示马上过期,不传此参数表示不过期。

    VER:版本号。如果field存在,和当前版本号做比较:如果相等,继续操作,且版本号加1。如果不相等,返回异常。如果field不存在或者field当前版本为0,忽略传入的版本号并继续操作,成功后版本号变为1。

    GT:比当前更大的版本号(Greater Than),设置的版本号如果比当前的版本号小,则返回失败。

    ABS:绝对版本号,不论field是否存在,可以在插入field时设置为本参数所指定的版本号。

    KEEPTTL:在不指定EX、EXAT、PX或PXAT选项时,使用KEEPTTL选项会保留field当前的过期设置。

    MIN:value的最小值,小于该值则提示异常。

    MAX:value的最大值,大于该值则提示异常。

    返回值

    成功:与num相加后value的值。

    其它情况返回异常。

    • 示例

      支持校验设置的最大值最小值范围示例:

exHash命令最佳实践请参考广告频控业务exHash方案

support.huaweicloud.com/redisug-nosql/nosql_03_0800.html