Hash结构与Redis中的Zset非常类似:
都是键值存储
都需求根据键获取值
键必须唯一
区别如下:
因此,Hash底层采用的编码与Zset也基本一致,只需要把排序有关的SkipList去掉即可:
因此,Hash底层采用的编码与Zset也基本一致,只需要把排序有关的SkipList去掉即可:
Hash结构默认采用ZipList编码,用以节省内存。ZipList中相邻的两个entry 分别保存field和value
当数据量较大时,Hash结构会转为HT编码,也就是Dict,触发条件有两个:
下面是Hash转为HT编码的一个转换过程
hash的执行redis命令的方法
查找创建方法
创建Hash的方法
判断是否需把ZipList转为Dict(在这里会做entry大小判断)
对数据内容的操作方法(在这里会做元素数量判断)
设置hash-max-ziplist-entries和hash-max-ziplist-value限制值的命令
评论