Redis 常见问题 -- 哈希冲突

用户头像
是老郭啊
关注
发布于: 2020 年 08 月 31 日

哈希冲突:

  • redis解决哈希冲突的方式是 链式哈希,依次用指针链接。当数据量大到一定程度,链表过长,则容易出现慢操作,这时 redis会执行 rehash(渐进式 rehash),操作步骤如下:

  1. 给哈希表2 分配更大的空间,例如是表 1的两倍;

  2. 把哈希表1中的数据重新映射并拷贝到哈希表 2中;

  3. 释放哈希表 1的控件。

为了避免大量的数据拷贝造成线程赌塞, rehash 会在第二步中,每处理一个请求时,从哈希表 1中的第一个索引位置开始,顺带将这个索引位置上的所有拷贝到哈希表 2中;每次处理一个请求就拷贝一个哈希桶。



用户头像

是老郭啊

关注

一位头发日渐稀疏的 90后 IT男 2020.04.07 加入

当你焦虑大于努力时,你将沦为焦虑本身。

评论

发布
暂无评论
Redis常见问题--哈希冲突