首页 > java > redis rehash的过程

redis rehash的过程

作者:bin

redis rehash的过程是渐进式的,rehashindex为-1表示未触发扩容过程

当容量达到阈值(未处于SAVE时是1倍就扩容,处于SAVE是5倍扩容)之后,触发rehash过程,将rehashindex设置为-1,新增h[1]表的table

每次对hashtable的操作都会触发渐进rehash,将部分键迁移到新h[1],同时都会rehashindex修改为移动的index + 1,如此操作几次hashtable后,就完成了迁移,将rehashindex设置为-1,表示迁移完了

最后迁移完成,将h[1]的改为h[0],并且修改rehashindex = -1,就完成了rehash

问题:
如果rehash过程中,增删查改怎么操作的?

除了新增只在h1中新增,其他的操作都需要在h0先做,不成功再在h1做。

您必须 [ 登录 ] 才能发表留言!