期中测试题答案-Redis哈希表rehash与驱动框架.pdfVIP

  • 2
  • 0
  • 约4.19千字
  • 约 6页
  • 2026-05-22 发布于北京
  • 举报

期中测试题答案-Redis哈希表rehash与驱动框架.pdf

期中测试题‑这些问题你都答对了吗

你好,我是这节课,我来给你公布一下期中考试中问答题的。

第⼀题

Redis源码中实现的哈希表在rehash时,会调用dictRehash函数。dictRehash函数的原型如下,它的参数n

表示本次rehash要搬移n个哈希桶(bucket)中的数据。假设dictRehash被调用,并且n的传入值为10。但是,

在dictRehash查找的10个bucket中,前5个bucket有数据,而后5个bucket没有数据,那么,本次调用

dictRehash是否就只搬移了前5个bucket中的数据?

intdictRehash(dict*d,intn)

分析

当Redis哈希表在做rehash搬移数据时,如果遇到空的bucket,那么Redis会跳过空的bucket,再查找下一

_

个bucket。但是,在dictRehash函数中,是使用了emptyvisits变量,来记录跳过的空bucket数量,而

empty_visits的值是被初始化成n*10,也就是要搬移的bucket数量的10倍。

_

因此,

文档评论(0)

1亿VIP精品文档

相关文档