源码分析之groupcache之consistenthash

Posted beckbi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了源码分析之groupcache之consistenthash相关的知识,希望对你有一定的参考价值。

很多时候读开源的库就是为自己准备大量的代码库,优秀开源项目代码质量比绝大部分人的代理质量都要高。

依赖的库

```
import (
"hash/crc32"
"sort"
"strconv"
)
```

基本的结构
```
type Hash func(data []byte) uint32

type Map struct {
hash Hash
replicas int
keys []int // Sorted
hashMap map[int]string
}

```

结构说明

hash 定义hash函数
replicas计算副本
使用keys存储当前的值的list
hashMap 存储放入的int对应的key

原理

1 对key产生多个副本,计算int值存放到,keys中,同时把hashint对应到key
2 对应每个传入的key,计算hash值,使用二分查找找到key

以上是关于源码分析之groupcache之consistenthash的主要内容,如果未能解决你的问题,请参考以下文章

groupcache源码分析(singleflight防缓存击穿)

groupcache源码分析(singleflight防缓存击穿)

groupcache源码分析(singleflight防缓存击穿)

groupcache源码分析(singleflight防缓存击穿)

groupcache源码解析-概览

groupcache源码解析(IRU)