源码分析之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防缓存击穿)