Hash(哈希)
Map集合,key:Map,Map:<field:value>,命令都是h开头
hset key field value 创建一个key哈希,包含一个field:value
hget key field 根据key 中的field获取value
hmset key field1 value1 field2 value2 … 可以一次性创建多个field:value
hmget key field1 field2 … 可以一次性获取多个field的值
hgetall key 获取key哈希里面所有的field和value
hdel key field 删除key哈希中field的字段,同时value值也没了
hlen key 获取key哈希的长度
hexists hash field 判断key哈希中field字段是否存在,如果存在返回1,反之返回0
hkeys key 获取key哈希中所有的field
hvals key 获取key哈希中所有field对应的value
hincrby key field num 指定key哈希中field字段增加num
hsetnx field value 指定key哈希field字段如果不存在,创建成功,反之创建失败
#####################################
127.0.0.1:6379> hset hash field sky
(integer) 1
127.0.0.1:6379> hget hash field
"sky"
127.0.0.1:6379> hmset hash field1 hello field2 world
OK
127.0.0.1:6379> hmget hash field1 field2
1) "hello"
2) "world"
127.0.0.1:6379> hgetall hash
1) "field"
2) "sky"
3) "field1"
4) "hello"
5) "field2"
6) "world"
###############################
127.0.0.1:6379> hdel hash field
(integer) 1
127.0.0.1:6379> hgetall hash
1) "field1"
2) "hello"
3) "field2"
4) "world"
127.0.0.1:6379> hlen hash
(integer) 3
127.0.0.1:6379> hgetall hash
1) "field1"
2) "hello"
3) "field2"
4) "world"
5) "field3"
6) "sky"
#####################################
127.0.0.1:6379> hexists hash field3
(integer) 1
127.0.0.1:6379> hexists hash field
(integer) 0
127.0.0.1:6379> hkeys hash
1) "field1"
2) "field2"
3) "field3"
127.0.0.1:6379> hvals hash
1) "hello"
2) "world"
3) "sky"
##############################################
127.0.0.1:6379> hset hash field4 1
(integer) 1
127.0.0.1:6379> hgetall hash
1) "field1"
2) "hello"
3) "field2"
4) "world"
5) "field3"
6) "sky"
7) "field4"
8) "1"
127.0.0.1:6379> hincrby hash field 4
(integer) 4
127.0.0.1:6379> hincrby hash field 4
(integer) 8
127.0.0.1:6379> hgetall hash
1) "field1"
2) "hello"
3) "field2"
4) "world"
5) "field3"
6) "sky"
7) "field4"
8) "1"
9) "field"
10) "8"
127.0.0.1:6379> hsetnx hash field3 10
(integer) 0
127.0.0.1:6379> hsetnx hash field5 10
(integer) 1
hash变更数据 user name age,尤其是用户信息之类的,经常变动的信息!hash更适合于对象的存储,String更加适合字符串!
127.0.0.1:6379> hset user:1 name sky
(integer) 1
127.0.0.1:6379> hget user:1 name
"sky"
127.0.0.1:6379> hmset user:1 age 1 score 90
OK
127.0.0.1:6379> hgetall user:1
1) "name"
2) "sky"
3) "age"
4) "1"
5) "score"
6) "90"
本文详细介绍了 Redis 中的哈希(Hash)数据结构及其常用操作,如 hset、hget、hmset、hgetall 等,并通过实例展示了如何存储和管理对象信息,例如用户资料。哈希在存储键值对时特别适合存储对象,相较于字符串更高效。
1394

被折叠的 条评论
为什么被折叠?



