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

PHP实现普通hash分布式算法简单示例

发布时间:2020-12-12 22:33:24 所属栏目:PHP教程 来源:网络整理
导读:本篇章节讲解PHP实现普通hash分布式算法。供大家参考研究具体如下: _serverList = $_serverList; }else{ return false; } } //通过hash算法返回一个整数值 protected function myHash($key){ $md5 = substr(md5($key),8); $seed = 31; //种子值 $

本篇章节讲解PHP实现普通hash分布式算法。分享给大家供大家参考,具体如下:

_serverList = $_serverList; }else{ return false; } } //通过hash算法返回一个整数值 protected function myHash($key){ $md5 = substr(md5($key),8); $seed = 31; //种子值 $hash=0; for($i=0;$i<8;$i++){ $hash = $hash*$seed+ord($md5{$i}); //ord 返回ascii值 $i++; } return $hash&0x7FFFFFFF; //0x7FFFFFFF表示最大值 } public function getServer($key){ $servers = $this->_serverList; $rs = $servers[$this->myHash($key)%(count($servers))]; return $rs; } } $servers = array( array('host'=>'192.168.1.1','port'=>6397),array('host'=>'192.168.1.2',array('host'=>'192.168.1.3',array('host'=>'192.168.1.4',array('host'=>'192.168.1.5',array('host'=>'192.168.1.6',array('host'=>'192.168.1.7',); $key = 'TheKey'.rand(0,99999); $value = 'TheValue'; $hash = new Hash($servers); if($hash){ $server = $hash->getServer($key); // $memcached = new Memcached($sc); // $memcached->set($key,$value); } ?>

PS:这里再为大家提供2款hash相关在线工具供大家参考使用:

在线散列/哈希算法加密工具:

在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:

更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《》

希望本文所述对大家PHP程序设计有所帮助。

(编辑:李大同)

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

    推荐文章
      热点阅读