面试题答案
一键面试- 原集合内存占用:
- Redis整数集合存储100个16位有符号整数。16位即2字节,所以原集合内存占用为
100 * 2 = 200
字节。
- Redis整数集合存储100个16位有符号整数。16位即2字节,所以原集合内存占用为
- 升级后集合内存占用:
- 加入一个32位有符号整数后,集合升级为以32位(4字节)存储所有元素。
- 此时集合元素个数变为101个,内存占用为
101 * 4 = 404
字节。
- 重新分配次数:
- 通常情况下,Redis整数集合升级时采用的是一次性重新分配内存的策略。
- 当检测到需要升级时,会一次性重新分配足够容纳所有新元素的内存空间,所以重新分配次数为1次。
总结:原集合内存占用200字节,升级后集合内存占用404字节,重新分配次数为1次。