• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP实现普通hash分布式算法简单示例

    本文实例讲述了PHP实现普通hash分布式算法。分享给大家供大家参考,具体如下:

    ?php
    /*
     * 普通hash分布式算法
     * @param $key
     * @return int
     */
    class Hash{
      protected $_serverList = array();
      public function __construct($_serverList){
        if(is_array($_serverList)){
          $this->_serverList = $_serverList;
        }else{
          return false;
        }
      }
      //通过hash算法返回一个整数值
      protected function myHash($key){
        $md5 = substr(md5($key),0,8);
        $seed = 31; //种子值
        $hash=0;
        for($i=0;$i8;$i++){
          $hash = $hash*$seed+ord($md5{$i}); //ord 返回ascii值
          $i++;
        }
        return $hash0x7FFFFFFF; //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','port'=>6397),
      array('host'=>'192.168.1.3','port'=>6397),
      array('host'=>'192.168.1.4','port'=>6397),
      array('host'=>'192.168.1.5','port'=>6397),
      array('host'=>'192.168.1.6','port'=>6397),
      array('host'=>'192.168.1.7','port'=>6397),
    );
    $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相关在线工具供大家参考使用:

    在线散列/哈希算法加密工具:
    http://tools.jb51.net/password/hash_encrypt

    在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
    http://tools.jb51.net/password/hash_md5_sha

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《php加密方法总结》、《PHP编码与转码操作技巧汇总》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《php正则表达式用法总结》

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

    您可能感兴趣的文章:
    • php 分库分表hash算法
    • php的hash算法介绍
    • PHP中对各种加密算法、Hash算法的速度测试对比代码
    • PHP Hash算法:Times33算法代码实例
    • PHP实现的各类hash算法长度及性能测试实例
    • PHP实现的一致性Hash算法详解【分布式算法】
    • PHP实现的一致性HASH算法示例
    • PHP一致性hash分布式算法封装类定义与用法示例
    • PHP实现的服务器一致性hash分布算法示例
    上一篇:PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
    下一篇:PHP实现的解汉诺塔问题算法示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

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