Redis基本类型-哈希Hash
时间:2023-07-03 15:07:01
哈市Hash:kv模式保持不变。但是v是键对
#============================
# hset hget 命令用于赋值哈希表中的字段
# hmset hmget 同时将多个field-value将哈希表中存在的字段设置在哈希表中
# hgetall 用于返回哈希表 所有字段和值
# hdel 用于删除哈希表key一个或多个指定字段
#============================
127.0.0.1:6379> hset myhash field1 wyt
(integer) 1
127.0.0.1:6379> hget myhash field1
"wyt"
127.0.0.1:6379> hmset myhash field1 lmp field2 hyd
OK
127.0.0.1:6379> hget myhash field1
"lmp"
127.0.0.1:6379> hget myhash field2
"hyd"
127.0.0.1:6379> hgetall myhash
1) "field1"
2) "lmp"
3) "field2"
4) "hyd"
127.0.0.1:6379> hdel myhash field1
(integer) 1
127.0.0.1:6379> hgetall myhash
1) "field2"
2) "hyd"
#============================
# hlen获得哈希表中字段的数量
#============================
127.0.0.1:6379> hlen myhash
(integer) 1
127.0.0.1:6379> hmset myhash field1 wyt field2 lmp
OK
127.0.0.1:6379> hlen myhash
(integer) 2
#============================
# hexists检查哈希表的指定字段是否存在
#============================
127.0.0.1:6379> hexists myhash field1
(integer) 1
127.0.0.1:6379> hexists myhash field3
(integer) 0
#============================
# hkeys在哈希表I中获取所有域(field)
# hvals 返回哈希表所有域(field)的值
#============================
127.0.0.1:6379> hkeys myhash
1) "field2"
2) "field1"
127.0.0.1:6379> hvals myhash
1) "lmp"
2) "wyt"
#============================
# hincrby将指定的增量值添加到哈希表中的字段值
#============================
127.0.0.1:6379> hset myhash field 5
(integer) 1
127.0.0.1:6379> hincrby myhash field 1
(integer) 6
127.0.0.1:6379> hincrby myhash field -1
(integer) 5
127.0.0.1:6379> hincrby myhash field -10
(integer) -5
#============================
# hsetnx赋值哈希表中不存在的字段
#============================
127.0.0.1:6379> hsetnx myhash field wyt
(integer) 1 #设置成功 返回1
127.0.0.1:6379> hsetnx myhash field wyt
(integer) 0 #如果给定的字段已经存在 返回0
127.0.0.1:6379> hget myhash field
"wyt"