-
1 链地址法: 使用一个list将映射到相同地址的不同key对应的value连起来
-
2 rehash:同时构造多个不同的哈希函数。当哈希地址Hi=RH1(key)发生冲突时,再计算Hi=RH2(key)……,直到冲突不再产生
-
3 开放定址法:当第一次冲突后,加一个增量,再hash一次
- 线性探测再散列
dii=1,2,3,…,m-1
这种方法的特点是:冲突发生时,顺序查看表中下一单元,直到找出一个空单元或查遍全表。
- 二次探测再散列
di=12,-12,22,-22,…,k2,-k2 ( k<=m/2 )
这种方法的特点是:冲突发生时,在表的左右进行跳跃式探测,比较灵活。- 伪随机探测再散列
di=伪随机数序列。
具体实现时,应建立一个伪随机数发生器,(如i=(i+p) % m),并给定一个随机数做起点。
redis的压缩列表为什么可以节省空间
用一系列的`连续的`entry保存数据,节省地址表示空间