@[TOC]

一、hset命令

作用:设置hash类型值;
格式:hset key field value

举例

127.0.0.1:6379> hset user name wang
(integer) 1
127.0.0.1:6379> hset user age 18
(integer) 1

二、hget命令

作用:获取hash类型某个key下的某个field的值
格式:hget key field

举例

127.0.0.1:6379> hget user age
"18"
127.0.0.1:6379> hget user name
"wang"

三、hsetnx命令

作用:如果key对应的field不存在,则赋值,存在时什么都不做。
格式:hsetnx key field value

举例

# 对一个不存在field设置值
127.0.0.1:6379> hsetnx user phone 110
(integer) 1
127.0.0.1:6379> hget user address
"110"

# 对一个已存在的field设置值
127.0.0.1:6379> hset user name wang
"wang"
127.0.0.1:6379> hget user name
"wang"
127.0.0.1:6379> hsetnx user name zhen # 这样设置不上新值
(integer) 0
127.0.0.1:6379> hget user name
"wang"

四、hmset命令

作用:同时为一个key的设置多个field;值已存在就替换旧值
格式:hmset key field value [field value ...]

举例

127.0.0.1:6379> hset user name zhen
(integer) 1
127.0.0.1:6379> hmset user name hhh age 18 phone 110
OK
127.0.0.1:6379> hget user name
"hhh"

五、hmget命令

作用:同时获取一个key的多个field的值;
格式:hmget key field [field ...]

举例

127.0.0.1:6379> hmget user name age phone
1) "hhh"
2) "18"
3) "120"

六、hgetall命令

作用:获取一个key下所有field和value
格式:hgetall key

举例

127.0.0.1:6379> hgetall user
1) "name"
2) "hhh"
3) "phone"
4) "120"
5) "age"
6) "18"

七、hkeys命令

作用:获取key对应的所有的field
格式:hkeys key

举例

127.0.0.1:6379> hkeys user
1) "name"
2) "phone"
3) "age"

八、hvals命令

作用:获取key对应的所有value;
格式:hvals key

举例

127.0.0.1:6379> hvals user
1) "hhh"
2) "120"
3) "18"

九、hincrby命令

作用:增减数值
格式:hincrby key field increment

举例

127.0.0.1:6379> hincrby user age 2
(integer) 20
127.0.0.1:6379> hget user age
"20"

十、hdel命令

作用:删除key对应的filed的值,field可以写多个
格式:hdel key field [field ...]

举例

127.0.0.1:6379> hdel user name age
(integer) 2
127.0.0.1:6379> hgetall user
1) "phone"
2) "120"

十一、hlen命令

作用:返回指定key的field数量。
格式:hlen key

举例

127.0.0.1:6379> hlen user
(integer) 1

十二、hexists

作用:测试给定key下的field是否存在。
格式:hexists key field

举例

# 刚刚删除了name和age,所以不存在返回0
127.0.0.1:6379> hexists user name
(integer) 0
# 存在返回1
127.0.0.1:6379> hexists user phone
(integer) 1