文章目录- 1、赋值与取值(HSET)
- 2、同时设置多个字段(HMSET)
- 3、判断字段是否存在(HEXISTS)
- 4、当字段不存在时赋值(HSETNX)
- 5、增加数字(HINCRBY)
- 6、删除字段(HDEL)
- 7、只获取字段名或字段值(HKEYS)
- 8、获取字段数量(HLEN)
1、赋值与取值(HSET)
HSET命令用来给字段赋值,而HGET命令用来获得字段的值。用法如下:
代码语言:javascript复制127.0.0.1:6379> HSET car price 500
(integer) 1
127.0.0.1:6379> HSET car name BMW
(integer) 1
127.0.0.1:6379> HGET car name
"BMW"
127.0.0.1:6379> HSET car price 600
(integer) 0
HSET命令的方便之处在于不区分插入和更新操作,这意味着修改数据时不用事先判断字段是否存在,来决定要执行的是插入操作(update)还是更新操作(insert)。当执行的是插入操作时(即之前字段不存在)HSET命令会返回1,当执行的是更新操作时(即之前的字段已经存在)HSET命令会返回0。更进一步,当键本身不存在时,HSET命令还会自动建立它。
2、同时设置多个字段(HMSET)
代码语言:javascript复制127.0.0.1:6379> HMSET car price 500 name BMW
OK
127.0.0.1:6379> HMGET car price name
1) "500"
2) "BMW"
3、判断字段是否存在(HEXISTS)
HEXISTS命令用来判断一个字段是否存在。如果存在则返回1,否则返回0。
代码语言:javascript复制127.0.0.1:6379> HEXISTS car model
(integer) 0
127.0.0.1:6379> HSET car model C200
(integer) 1
127.0.0.1:6379> HEXISTS car model
(integer) 1
4、当字段不存在时赋值(HSETNX)
HSETNX命令和HSET命令类似,区别在于如果字段已经存在,HSENX命令将不执行任何操作。其实现可以表示为如下伪代码:
代码语言:javascript复制def hsetnx($key,$field,$value)
$isExists=HEXISTS $key,$field
if $isExists is 0
HSET $key,$field,$value
return 1
else
return 0
代码语言:javascript复制127.0.0.1:6379> hsetnx car price 600
(integer) 0
127.0.0.1:6379> hget car price
"500"
5、增加数字(HINCRBY)
散列类型没有HINCR命令,但是可以通过HINCRBY key value 1来实现。
代码语言:javascript复制127.0.0.1:6379> HINCRBY person score 90
(integer) 90
127.0.0.1:6379> HGET person score
"90"
6、删除字段(HDEL)
HDEL命令可以删除一个或多个字段,返回值是被删除的字段个数。
代码语言:javascript复制127.0.0.1:6379> HDEL car model
(integer) 1
127.0.0.1:6379> HDEL car model
(integer) 0
7、只获取字段名或字段值(HKEYS)
代码语言:javascript复制127.0.0.1:6379> HKEYS car
1) "price"
2) "name"
127.0.0.1:6379> HVALS car
1) "500"
2) "BMW"
8、获取字段数量(HLEN)
代码语言:javascript复制127.0.0.1:6379> HLEN car
(integer) 2