几乎所有的编程语言都提供了哈希(hash) 类型, 它们的叫法可能是哈希、 字典、 关联数组

 

相关命令

 

设置值
hset key field value

获取值
hget key field

删除field
hdel key field [field ...]

计算field个数
hlen key

批量设置或获取field-value
hmget key field [field ...]
hmset key field value [field value ...]

判断field是否存在
hexists key field

获取所有field
hkeys key

获取所有value
hvals key

获取所有的field-value
hgetall key

hincrby hincrbyfloat  
hincrby key field
hincrbyfloat key field
注:hincrby和hincrbyfloat, 就像incrby和incrbyfloat命令一样, 但是它们的作用域是filed

计算value的字符串长度
hstrlen key field

 

命令复杂度

Redis数据结构---哈希

 

内部编码

哈希类型的内部编码有两种:
ziplist(压缩列表) : 当哈希类型元素个数小于hash-max-ziplist-entries配置(默认512个) 、 同时所有值都小于hash-max-ziplist-value配置(默认64字节) 时, Redis会使用ziplist作为哈希的内部实现。
ziplist使用更加紧凑的结构实现多个元素的连续存储, 所以在节省内存方面比hashtable更加优秀。
hashtable(哈希表) : 当哈希类型无法满足ziplist的条件时, Redis会使用hashtable作为哈希的内部实现, 因为此时ziplist的读写效率会下降, 而hashtable的读写时间复杂度为O(
1) 。

 

相关文章:

  • 2022-12-23
  • 2021-11-04
  • 2021-04-17
  • 2021-10-02
  • 2021-07-09
  • 2021-12-30
  • 2021-07-15
猜你喜欢
  • 2022-01-04
  • 2021-11-17
  • 2021-04-21
  • 2021-04-21
  • 2022-01-14
相关资源
相似解决方案