189 8069 5689

【golang】分布式缓存

前言

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、雅安服务器托管、营销软件、网站建设、吉州网站维护、网站推广。

  之前也了解到过一致性哈希算法,但是没有用go实现过,刚好最近看GeeCache,动手实现下一致性哈希算法

正文:

  我们先来想下一致性哈希算法的数据结构含有哪些内容:

  1.map 用来存储虚拟节点对应的真实节点,是一个映射表

  2.hash 哈希函数

  3.key 哈希环,存储所有虚拟节点

  4.replicas 虚拟节点的倍数

了解过一致性哈希算法的朋友,应该是能够理解为什么要有上面的内容,下面我们用代码实现下:

type Hash func([]byte) uint32
type Mapstruct {
    hash    Hash// hash算法
    key     []int // hash环
    replicas int  // 虚拟节点的数量
    m      map[int]string // 虚拟节点和真实节点的映射表
}

分享名称:【golang】分布式缓存
本文路径:http://cdxtjz.cn/article/dsoicje.html

其他资讯