Redis为何这么快——数据存储角度
这个布局相同于JDK7早年的HashMap<String,Object>,当有两个或以上的键被分派到哈希数组的统一个索引上时,会发生哈希斗嘴。Redis也行使链地点法来办理键斗嘴。即每个哈希表节点都有一个next指针,多个哈希表节点用next指针组成一个单项链表,链地点法就是将沟通hash值的工具组织成一个链表放在hash值对应的槽位。 Redis中的字典行使hashtable作为底层实现的话,每个字典会带有两个哈希表,一个平常行使,另一个仅在rehash(从头散列)时行使。跟着对哈希表的操纵,键会逐渐增多或镌汰。为了让哈希表的负载因子维持在一个公道范畴内,Redis会对哈希表的巨细举办扩展或紧缩(rehash),也就是将ht【0】内里全部的键值对分多次、渐进式的rehash到ht【1】里。 六、Set Set荟萃工具的底层实现可所以intset(整数荟萃)可能hashtable(字典可能也叫哈希表)。 intset(整数荟萃)当一个荟萃只含有整数,而且元素不多时会行使intset(整数荟萃)作为Set荟萃工具的底层实现。
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |