hash
- 可以认为是
python
中的字典 - field 不允许重复
- string类型的field和value的映射表
- 每个hash可以存储 232 - 1 键值对(40多亿)
方法
-
hest key field value
设置值 -
'hget key field'
127.0.0.1:6379[7]> hset test t1 hello (integer) 1 127.0.0.1:6379[7]> hget test t1 "hello" 127.0.0.1:6379[7]>
-
hmset key f1 v1 f2 v2
设置多个值 -
hgetall key
获取 KEY 的所有 field 以及 value127.0.0.1:6379[7]> hmset test t2 v2 t3 v3 OK 127.0.0.1:6379[7]> hgetall test 1) "t1" 2) "hello" 3) "t2" 4) "v2" 5) "t3" 6) "v3" 127.0.0.1:6379[7]>
-
hdel key field
删除key
的field
127.0.0.1:6379[7]> hdel test t3 (integer) 1 127.0.0.1:6379[7]> hegetall test (error) ERR unknown command `hegetall`, with args beginning with: `test`, 127.0.0.1:6379[7]> hgetall test 1) "t1" 2) "hello" 3) "t2" 4) "v2" 127.0.0.1:6379[7]>
-
hexists key fied
判断字段是否存在127.0.0.1:6379[7]> hexists test t1 (integer) 1 127.0.0.1:6379[7]>
-
hincrby key filed value
key
的filed
的值自增127.0.0.1:6379[7]> hset test t10 0 (integer) 1 127.0.0.1:6379[7]> hincrby test t10 1 (integer) 1 127.0.0.1:6379[7]> hget test t10 "1" 127.0.0.1:6379[7]> hincrby test t10 1 (integer) 2 127.0.0.1:6379[7]> hget test t10 "2"
-
hkeys
获取 hash 的 field
127.0.0.1:6379[7]> hkeys test
1) "t1"
2) "t2"
3) "t10"
hlen key
获取长度127.0.0.1:6379[7]> hlen test (integer) 3
hsetnx key filed value
只有在字段 field 不存在时,设置哈希表字段的值
127.0.0.1:6379[7]> hsetnx test t3 10
(integer) 1
127.0.0.1:6379[7]> hsetnx test t3 11111
(integer) 0
127.0.0.1:6379[7]> hget test t3
"10"