我已经知道redis使用渐进式的方式处理rehash,但是当第一次rehash还没有完成,并且到达新的应用空间rehash点时,redis会开始第二次rehash吗?如果是这样的话,当数据增长很快时,当内存可用时,重新散列会不会无限递归?
发布于 2020-08-07 18:34:08
如果正在进行重新散列,则不会有第二次重新散列。新项目将被插入到新的哈希表中。
新哈希表的大小大约是旧哈希表的两倍,每次我们向新哈希表添加新项(或运行其他操作)时,我们都会将一个存储桶从旧表移动到新表。通常,在Redis完成重新散列之前,新的散列不会是“满的”,因为随着更多的项被添加到新的哈希表中,更多的存储桶也会移动到新的哈希表中。
https://stackoverflow.com/questions/63297269
复制相似问题