redis讨论下Hash底层数据结构及应用场景

概述

Hash结构对于我们来说太熟悉了,Java中我们几乎天天都要使用hash这种数据类型,也很清楚Hash的底层数据结构是HashTable.其实redis也类似,Hash底层也采用了HashTable,毕竟时间复杂度是O(1),但其实redis的Hash底层结构同时使用了两种数据结构,另外一种是Ziplist(压缩列表).两种结构有不同的使用场景,我们来分析一下.

数据结构图

redis整体结构图
image.png

entry结构图
image.png

hashtable结构图

image.png

ziplist结构图

image.png

1.hash和string有着明显区别,hash是属于集合类型

2.hash底层采用了两种数据结构

版权声明:本文为weixin_38312719原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。