加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

php memcache 一致性hash入门

发布时间:2020-12-16 05:53:54 所属栏目:安全 来源:网络整理
导读:table class="text" tr class="li1" td class="ln"pre class="de1"1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 _hash($ke
<tr class="li1">
<td class="ln"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59

_hash($key); ? ? ? ? $node=current($this->nodes);// 默认在第一个服务器节点 ? ? ? ? ? //通过判断所存key的hash值,与存储的服务器节点的key做对比,返回对应服务器的value值 ? ? ? ? foreach ($this->nodes as $key => $value) { ? ? ? ? ? ? if($point<=$key){ ? ? ? ? ? ? ? ? $node=$value; ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? return $node; ? ? } ? ? ? // 添加服务器节点 ? ? public function addNode($node){ ? ? ? ? $node_key=sprintf('%u',crc32($node)); ? ? ? ? $this->nodes[$node_key]=$node;// 按照键的节点排序 ? ? ? ? $this->sortNode(); ? ? } ? ? ? public function printNodes(){ ? ? ? ? var_dump($this->nodes);// 打印所有服务器节点列表 ? ? } ? ? ? //将所有服务器安装顺序大小排序,方便存储和查找 ? ? public function sortNode(){ ? ? ? ? ksort($this->nodes,SORT_REGULAR); ? ? } } ? $c=new Consitent(); $c->addNode('a'); $c->addNode('b'); $c->addNode('c'); $c->printNodes(); echo $c->_hash('name'); echo $c->lookup('name');(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

<table class="text">

    推荐文章
      热点阅读