Redis之Hash命令
注:本文是基于Linux系统上Redis v5.0.7进行讲解
1.hmset
命令用于同时将多个 field-value (字段-值)对设置到哈希表中;
此命令会覆盖哈希表中已存在的字段;
如果哈希表不存在,会创建一个空哈希表,并执行 HMSET 操作;
如果命令执行成功,返回 修改的键的个数
HMSET KEY_NAME FIELD1 VALUE1 ...FIELDN VALUEN
2.hmget
命令用于返回哈希表中,一个或多个给定字段的值;
如果指定的字段不存在于哈希表,那么返回一个 nil 值;
如果指定的key不存在,那么返回多个 nil 值;
一个包含多个给定字段关联值的表,表值的排列顺序和指定字段的请求顺序一样
HMGET KEY_NAME FIELD1...FIELDN
3.hexists
命令用于查看哈希表的指定字段是否存在;
如果哈希表含有给定字段,返回 1 ;
如果哈希表不含有给定字段,或 key 不存在,返回 0 。
HEXISTS KEY_NAME FIELD_NAME
4.hincrby
命令用于为哈希表中的字段值加上指定增量值;
增量也可以为负数,相当于对指定字段进行减法操作;
如果哈希表的 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令;
如果指定的字段不存在,那么在执行命令前,字段的值被初始化为 0 ;
对一个储存字符串值的字段执行 HINCRBY 命令将造成一个错误;
本操作的值被限制在 64 位(bit)有符号数字表示之内。
命令返回哈希表中字段的新值
HINCRBY KEY_NAME FIELD_NAME INCR_BY_NUMBER
5.hlen
命令用于获取哈希表中字段的数量;
当 key 不存在时,返回 0
HLEN KEY_NAME
6.hvals
命令返回哈希表所有字段的值,返回一个包含哈希表中所有值的表;
当 key 不存在时,返回一个空表
HVALS KEY_NAME FIELD VALUE
7.hincrbyfloat
命令用于为哈希表中的字段值加上指定浮点数增量值或减量值;
如果指定的字段不存在或者key不存在,那么在执行命令前,字段的值被初始化为 0;
返回执行 Hincrbyfloat 命令之后,哈希表中字段的新值
HINCRBYFLOAT KEY_NAME FIELD_NAME INCR_BY_NUMBER
8.hkeys
命令用于获取哈希表中的所有字段名;
包含哈希表中所有字段的列表;
当 key 不存在时,返回一个空列表
HKEYS KEY_NAME FIELD_NAME INCR_BY_NUMBER
9.hsetnx
命令用于为哈希表中不存在的的字段赋值 ;
如果key不存在,一个新的哈希表被创建并进行 HSET 操作;
如果字段已经存在于哈希表中,操作无效;
设置成功,返回 1 ;