2.3 针对哈希类型变量的命令
2.3.1 设置并获取哈希值
HSET
:设置哈希值.语法:HSET key field value [field value ...]
.其中:key
:待缓存对象的键名field value
:以键值对形式描述的对象数据.针对同一个key,可以用多个field value
对来存储数据.这里的field
可以理解成对象的属性名,value
可以理解为对象的属性值注:若一个key已经被定义为类型A,再使用其他类型的指令操作该key时将会报错
返回值:
1
:表示成功设置了置顶field的值.若field之前不存在,则创建新的field并设置值0
:表示字段已存在,HSET
命令将更新字段的值-1
:表示命令执行出错或参数错误
HGET
:读取哈希值.语法:HGET key field
.其中:key
:待读取对象的键名如果存在key和field所对应的数据,则返回该数据,否则返回nil
例:
存储一个工号为001的员工信息.其中:
姓名:peter
薪水:10000
部门:dataTeam
可以看到,HSET
命令的返回值为设置的字段数量
查询该员工的姓名、薪水、部门:
查询一个不存在的key:
可以看到,返回值为nil
查询一个存在的key中不存在的field:
可以看到,返回值也为nil
查询哈希值时只传入key而不传入field:
2.3.2 hsetnx命令
HSETNX
语法:
HSETNX key field value
功能:只有当key和field所对应的value不存在时才设置value.设置成功返回1,设置失败返回0
例:重新设置工号为001的员工姓名
查看当前姓名:
使用HSET
命令设置姓名:
可以看到,使用HSET
命令可以更新field值
例:若工号为002的员工姓名不存在,则设置员工姓名
可以看到,此时由于key为002
、field为name
的值不存在,故设置成功,返回1
可以看到,此时由于key为002
、field为name
的值已存在,故设置失败,返回0
注:HSETNX
命令的key后边只能跟一对field value
2.3.3 针对key的相关操作
HKEYS key
功能:查看key对应的哈希类型数据的所有field
HVALS key
:功能:查看key对应的哈希类型的所有value
HGETALL key
:功能:以field和value对的形式查看key对应的哈希类型数据
例:
设置一个哈希类型的数据:
查看key对应的所有field:
查看key所对应的所有value:
查看key所对应的field-value对:
对一个不存在的key执行
HKEYS
、HVALS
、HGETALL
指令:
可以看到,当无法找到key时,会返回empty array
2.3.4 用hexists命令判断值是否存在
HEXISTS
:语法:
HEXISTS key field
功能:判断key和field对应的value是否存在.存在返回1,反之则返回0
例:
若调用HEXISTS
命令时只写了1个参数则会报错
2.3.5 对哈希类型数据的删除操作
HDEL
:语法:
HDEL key field [field ...]
功能:删除key指定的field数据.该命令可以同时删除1个key对应的多个field数据.若想删除key对应的整个哈希类型数据,则需使用
DEL key
命令(该命令可以对所有类型的数据使用,删除成功返回1;删除失败返回0)
例:
删除key为001所对应的哈希类型的name和salary这2个field:
删除key对应的哈希类型中一个不存在的field:
调用HDEL
指令时只填写了1个参数:
可以看到,会报错
删除key对应的整个哈希类型数据:
查看删除的结果:
Last updated