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"