zoukankan      html  css  js  c++  java
  • 源码分析之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

  • 相关阅读:
    PHP5.4中新增的traits
    PHP各版本的区别
    冒泡排序原理
    服务器&linux
    PHP
    excel 导出
    try cache
    sql
    Linux下php安装Redis扩展
    Redis安装部署
  • 原文地址:https://www.cnblogs.com/beckbi/p/10625282.html
Copyright © 2011-2022 走看看