对于redis的键值对本身, 他就是保存在哈希表中。 key作为键,value作为值。 当value的类型也为哈希表时, 就时我们本节学习的。 value的数据类型为哈希表。
redis中哈希表的底层实现有两种: ziplist和hashtable。 其中hashtable就是哈希表, 当一个键对应的value数量多的时候使用; ziplist叫做压缩列表, 当一个键的对应的value数量少的时候使用。
Hget
hget key field
- 获取key的value的值(value是键值对, 所以value也有对应的值, field为value的键)
- 返回值即value中的值
Hset
hset key field value
- 设置哈希类型的数据。 key为键, filed和value为值。 其中值为哈希类型,并且filed为哈希类型中的键, value为哈希类型中的值。
- 设置成功返回设置成功的键值对的个数, 即1。失败返回0。
- O(1)
Hmget
hmget key field [field...]
- 获取key中的value的值, 可以获取多个。
- 返回获取到的多个值
- O(1)
Hmset
hmset key field value [field value...]
- 设置哈希类型的数据, key为键, filed和value为值。 可以一次设置多个值。
- 返回设置成功的值的数量。
Hincrby
hincrby key field increment
- 对field对应的值进行增加, 要求field对应的value必须是整形。
- 返回值为增加之后的值
- O(1)
Hkeys
hkeys key
- 获取到key所对应的哈希表里面的所有的键值
- 返回获取到的所有的值
- O(N) N为哈希表里面的所有的键值对的个数
Hvals
hvals key
- 获取到key所对应的哈希表里面的所有的值
- 返回获取到的所有值
- O(N) N为哈希表里面的所有键值对的个数
Hgetall
hgetall key
- 获取到key所对应的哈希表里面的所有值 + 键
- 返回获取到的所有值 + 键
- O(N) N为哈希表里面的所有键值对的个数。