欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

redis hash 结构

程序员文章站 2022-07-15 14:15:59
...

hash 结构

为 hash 结构设置值 一次设置一个

hset key field value
例如:
hset user1 name zhangsan
hset user1 age 22
		|-- name: zhangsan
user1---|
		|-- age: 22
127.0.0.1:6379> hset user1 name lisi
(integer) 1
127.0.0.1:6379> hset user2 age 28
(integer) 1
127.0.0.1:6379> hset user1 height 175
(integer) 1

一次性设置多个值

hmset key field value [field1 value1 field2 value2...]
例如:
hmset user2 name zhangsan age 22 height 175
127.0.0.1:6379> hmset user2 name zhangsan height 170
OK
127.0.0.1:6379> hmset user2 age 22
OK
127.0.0.1:6379> hmset user1 age 22
OK

获取 hash 结构的值

hgetall key
例如:
hgetall user1
127.0.0.1:6379> hgetall user1
1) "name"
2) "lisi"
3) "height"
4) "175"
5) "age"
6) "22"

获取 hash 结构中某一个 field 的值

hget key field
例如:
hget user1 name
127.0.0.1:6379> hget user1 name
"lisi"
127.0.0.1:6379> hget user1 age
"22"

获取 hash 结构中多个指定 field 的值

hmget key field [field1 field2 ...]
例如:
hmget user1 name height
127.0.0.1:6379> hmget user1 name height
1) "lisi"
2) "175"

删除 hash 结构中某个 field

hdel key field [field1 field2...]
例如:
hdel user2 name
127.0.0.1:6379> hdel user1 height
(integer) 1
127.0.0.1:6379> hdel user1 age
(integer) 1

获得 hash 结构的长度

hlen key
例如:
hlen user1
127.0.0.1:6379> hlen user1
(integer) 1

查看某个 field 是否在 hash 结构中

hexists key field
例如:
hexists user1 age
127.0.0.1:6379> hexists user1 age
(integer) 0
127.0.0.1:6379> hexists user2 age
(integer) 1

增加某个 field 的值 (整数)

hincrby key field num  # num 是一个数
例如:
hincrby user1 age 10
127.0.0.1:6379> hincrby user1 age 10
(integer) 20

以浮点数增加 field 的值

hincrbyfloat key field fnum # fnum 是一个浮点数
例如:
hincrbyfloat user2 age 20.5
127.0.0.1:6379> hincrbyfloat user2 age 20.5
"42.5"

查看 key 对应所有的 field

hkeys key
例如:
hkeys user1
127.0.0.1:6379> hkeys user1
1) "name"
2) "age"
127.0.0.1:6379> hkeys user2
1) "age"
2) "name"
3) "height"