1、hset
hset key field value
- key的field值设为value
- 如果key不存在,会新建一个hash表并操作
- 返回值:如果field是新建字段,返回1; 如果field字段已经存在旧值被新值覆盖返回0
127.0.0.1:6379> hset score tom 70 // tom不存在返回1
(integer) 1
127.0.0.1:6379> hset score tom 80 // tom的分数被覆盖为80,返回0
(integer) 0
2、hsetnx
hsetnx key field value
- field字段不存在时,将field字段值设为value,返回1
- 如果field已存在,返回0
127.0.0.1:6379> hsetnx score tom 90
(integer) 1
127.0.0.1:6379> hsetnx score tom 90 //已存在返回0
(integer) 0
3、hmset
hmset key field1 value1 field2 value2 ...
- 一次设置多个字段的值
- 成功返回OK,失败返回error(key类型不是hash)
127.0.0.1:6379> hmset score tom 90 bob 100
OK
127.0.0.1:6379> set test 1
OK
127.0.0.1:6379> hmset test tom 80 //非hash类型报错
(error) WRONGTYPE Operation against a key holding the wrong kind of value
4、hget
hget key field
- 返回值为hash表中field字段的值
- 如果key不存在或者field字段不存在,返回nil
127.0.0.1:6379> hget score tom
"80"
127.0.0.1:6379> hget score bob
(nil)
5、hmget
hmget key field1 field2 ...
- 返回值为hash表key中,field1,field2 ...字段的值
- 字段不存在值为nil
127.0.0.1:6379> hmget score tom bob alice
1) "90"
2) "100"
3) (nil)
6、hgetall
hgetall key
- 返回哈希表key中,所有的字段和值
- key不存在则返回空列表
127.0.0.1:6379> hgetall score
1) "tom"
2) "90"
3) "bob"
4) "100"
127.0.0.1:6379> hgetall test
(error) WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6379> hgetall no_exists
(empty list or set)
7、hdel
hdel key field1 field2 ...
- 删除哈希表key的一个或多个字段,不存在的field将忽略
- 返回值为成功删除的数量
127.0.0.1:6379> hset score tom 70
(integer) 0
127.0.0.1:6379> hdel score tom alice
(integer) 1
8、hlen
hlen key
- 哈希表中key的字段数
127.0.0.1:6379> hset score tom 70
(integer) 0
127.0.0.1:6379> hset score bob 80
(integer) 0
127.0.0.1:6379> hlen score
(integer) 2
9、hexists
hexists key field
- 哈希表key的field字段是否存在
127.0.0.1:6379> hset score tom 70
(integer) 1
127.0.0.1:6379> hexists score tom
(integer) 1
127.0.0.1:6379> hexists score bob
(integer) 0
10、hincrby
hincrby key field num
- filed字段值增加num
127.0.0.1:6379> hset score tom 70
(integer) 0
127.0.0.1:6379> hincrby score tom 5
(integer) 75
127.0.0.1:6379> hget score tom
"75"
11、hkeys
hkeys key
- 哈希表key的所有字段
- key不存在返回空列表
127.0.0.1:6379> hset score tom 70
(integer) 0
127.0.0.1:6379> hset score bob 80
(integer) 1
127.0.0.1:6379> hkeys score
1) "tom"
2) "bob"
12、hvals
hvals key
- 返回值为哈希表key所有值的列表
- key不存在返回空列表
127.0.0.1:6379> hset score tom 70
(integer) 0
127.0.0.1:6379> hset score bob 80
(integer) 1
127.0.0.1:6379> hvals score
1) "70"
2) "80"
127.0.0.1:6379> hvals no_exists
(empty list or set)
13、hincrbyfloat
hincrbyfloat key field increment
- 哈希表key的filed字段值增加increment
- 返回值为增加后的值
127.0.0.1:6379> hset score tom 70
(integer) 0
127.0.0.1:6379> hincrbyfloat score tom 70.1
"140.10000000000000001"