Redis通过哈希表实现高效的键值对查询。
查询流程如下:
- 使用哈希函数计算键的哈希值
hash
。 - 通过
hash & (size - 1)
计算出索引index
。 - 如果
table[index]
为空,则查询失败。 - 遍历
table[index]
指向的碰撞链。 - 如果找到目标键,则返回指向值的指针;否则返回空值。
Redis查询的最佳时间复杂度为 O(1),最坏情况为 O(n)。 增删改操作的流程与查询类似。
Redis通过哈希表实现高效的键值对查询。
查询流程如下:
hash
。hash & (size - 1)
计算出索引 index
。table[index]
为空,则查询失败。table[index]
指向的碰撞链。Redis查询的最佳时间复杂度为 O(1),最坏情况为 O(n)。 增删改操作的流程与查询类似。