美文网首页
Redis 哈希对象

Redis 哈希对象

作者: 杰哥长得帅 | 来源:发表于2019-02-05 20:02 被阅读10次

哈希对象的编码可以是 ziplist 或 hashtable

ziplist 编码的哈希对象使用压缩列表作为底层实现,每当由新的键值对要加入到哈希对象时,程序会先将保存了键的压缩列表节点推入到压缩列表表尾,然后再将保存了值的压缩列表节点推入到压缩列表表尾

ziplist 编码的哈希对象底层实现

hashtable 编码的哈希对象使用字典作为底层实现,哈希对象中的每个键值对都用一个字典键值对来保存。字典的每个键和值都是一个字符串对象

hashtable 编码的哈希对象底层实现

编码转换

当哈希对象可以同时满足以下两个条件时,哈希对象使用 ziplist 编码:

  • 哈希对象保存的所有键和值字符串长度都小于 64 字节
  • 哈希对象保存的键值对数量小于 512 个

不能满足这两个条件的哈希对象需要使用 hashtable 编码

这两个条件的上限值由 hash-max-ziplist-value 和 hash-max-ziplist-entries 控制

相关文章

  • redis中的对象

    redis的对象包含5种对象: 字符串对象 列表对象 哈希对象 集合对象 有序集合对象 redis对象的好处 针对...

  • redis哈希对象

    内容来自:《redis设计与实现》购买本书请访问: 京东商城《Redis 深度历险:核心原理与应用实践》购买本书请...

  • Redis 哈希对象

    哈希对象的编码可以是 ziplist 或 hashtable ziplist 编码的哈希对象使用压缩列表作为底层实...

  • 面试题|Java|Redis

    Redis内存模型 Redis内存分配 数据 :Redis存储的数据对象 字符串、哈希、列表、集合、有序集合 进程...

  • Redis专题

    1 数据结构与对象 1.Redis数据结构与对象——简单动态字符串2.Redis数据结构与对象——哈希3.Redi...

  • Redis为什么这么快?一文带你深入了解Redis!

    我们使用 Redis 时,会接触 Redis 的 5 种对象类型(字符串、哈希、列表、集合、有序集合),丰富的类型...

  • redis数据结构--对象

    redis使用对象系统来构建键值对数据库,这个对象系统包括:字符串对象,列表对象,哈希对象,集合对象和有序集合对象...

  • 4. Redis hash表命令

    Redis的哈希值是字符串字段和字符串值之间的映射,所以他们是表示对象的完美数据类型 在Redis中的哈希值,可存...

  • redis 学习(4)-- 哈希类型

    redis 学习(4)-- 哈希类型 介绍 redis 中哈希键值结构: 可以看出:哈希键值包括 key,fiel...

  • 再探Redis对象与底层数据结构的关系

    大纲:简述Redis五种对象所使用的的底层数据结构 字符串对象 列表对象 哈希对象 集合对象 有序集合对象 阅读本...

网友评论

      本文标题:Redis 哈希对象

      本文链接:https://www.haomeiwen.com/subject/duvvsqtx.html