码迷,mamicode.com
首页 > 其他好文 > 详细

Redis数据结构---哈希

时间:2020-11-17 12:33:20      阅读:6      评论:0      收藏:0      [点我收藏+]

标签:类型   rgb   http   存储   float   pre   oat   tab   value   

几乎所有的编程语言都提供了哈希(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

 

命令复杂度

技术图片

 

内部编码

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

 

Redis数据结构---哈希

标签:类型   rgb   http   存储   float   pre   oat   tab   value   

原文地址:https://www.cnblogs.com/MacoLee/p/13955291.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!