Python字典与Redis的hash原理
2020-07-21 09:51:17 0 举报
Python字典与Redis的hash原理
作者其他创作
大纲/内容
key2
【1】字典hash原理:1.初始化长度为8的数组;存储 key1:value12.计算 hash(key1)%8的值即为位置;3.存储 key2:value2当:hash(key2)%8的值等于hash(key1)时,位置发生hash碰撞;
【2】对于hash碰撞时采用单链表连接碰撞的元素;【3】扩容:used / len(数组) >1 可能扩,>5 肯定扩;rehash的过程采用渐进式的rehash的过程!
key1
【1】Redis hash散列类型底层原理:1.初始化长度为8的数组;存储 key1:value12.计算 hash(key1)%8的值即为位置;3.存储 key2:value2当:hash(key2)%8的值等于hash(key1)时,链式连接到key1后面;
【2】对于hash碰撞时采用hash的开发地址法:hash(位置+偏移量)% 8 = new_value<新位置>【3】扩容:已经使用的位置超过2/3时会进行扩容;扩容后会进行rehash<位置重排>,因此字典是无序的;【4】当进行删除key时,采用伪删除,会保留完整的探测链。
0 条评论
下一页