排序
一致性hash算法作用是什么
一致性哈希(Consistent Hashing)算法,乍一听大家可能觉得这是高大上的技术名词,但其实它在分布式系统中无疑是个解决大难题的土方法,就像是中国的传统医术在现代仍能医治各种疑难杂症一样。...
redis哈希槽为什么是16384
我们知道一致性哈希算法是对2的32次方取模,而哈希槽是对2的14次方取模 ✏️ Redis作者认为这样做不太值得;并且一般情况下一个redis集群不会有超过1000个master节点,所以16k的槽位是个比较合...
Redis为什么使用哈希槽而不用一致性哈希
之前不念写了一篇文章,目的是为了让大家快速了解一致性哈希算法,看过的朋友应该还有印象,没看过的朋友可以看一下。 看明白这篇一致性哈希算法基础,会对本文有更好的认识和对比性。 这里我们...
Redis渐进式rehash过程
Redis 的渐进式 rehash 是在进行哈希表扩容时采用的一种策略,它允许哈希表在进行扩容的同时仍然可以进行正常的读写操作,而不会阻塞整个 Redis 服务。 渐进式rehash过程: 为新哈希表分配空间...
Hash数据结构的底层实现原理
在Redis中,Hash数据结构的底层实现采用了一种称为哈希表(hash table)的数据结构。 具体来说,Redis中的哈希表是一个数组,数组的每个元素都是一个链表的头指针,而链表的节点包含了哈希表中...
hashmap原理详解
哈希表的原理基于哈希函数,用于将键映射到特定的存储位置,以便快速访问数据。 基本原理: 哈希函数:哈希表的核心是哈希函数,它接受一个键作为输入并生成一个固定大小的哈希码(或哈希值)。...
哈希冲突解决方法
分离链接法(Separate Chaining) 在每个哈希表的槽(桶)中维护一个链表、向量或其他数据结构,以存储多个键-值对。 当哈希冲突发生时,新的键-值对被添加到槽中的链表中。这种方法不会影响哈...
map和unordered_map的区别
底层数据结构: map 使用红黑树作为底层数据结构,因此它保持元素的有序性。这意味着 map 中的键值对会按照键的大小顺序排列,支持范围查询和有序遍历。 unordered_map 使用哈希表作为底层数据...