redis rehash的过程
作者:binredis 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做。