主頁 > 知識庫 > PHP實現(xiàn)普通hash分布式算法簡單示例

PHP實現(xiàn)普通hash分布式算法簡單示例

熱門標簽:桂陽公司如何做地圖標注 電信外呼系統(tǒng)多少錢一個月 萍鄉(xiāng)商鋪地圖標注 神龍斗士電話機器人 代理打電話機器人 企業(yè)400電話辦理多少費用 太原400電話申請流程 宿州正規(guī)外呼系統(tǒng)軟件 合肥企業(yè)外呼系統(tǒng)線路

本文實例講述了PHP實現(xiàn)普通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算法返回一個整數(shù)值
  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相關(guān)在線工具供大家參考使用:

在線散列/哈希算法加密工具:
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

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php加密方法總結(jié)》、《PHP編碼與轉(zhuǎn)碼操作技巧匯總》、《PHP數(shù)學(xué)運算技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》及《php正則表達式用法總結(jié)》

希望本文所述對大家PHP程序設(shè)計有所幫助。

您可能感興趣的文章:
  • php 分庫分表hash算法
  • php的hash算法介紹
  • PHP中對各種加密算法、Hash算法的速度測試對比代碼
  • PHP Hash算法:Times33算法代碼實例
  • PHP實現(xiàn)的各類hash算法長度及性能測試實例
  • PHP實現(xiàn)的一致性Hash算法詳解【分布式算法】
  • PHP實現(xiàn)的一致性HASH算法示例
  • PHP一致性hash分布式算法封裝類定義與用法示例
  • PHP實現(xiàn)的服務(wù)器一致性hash分布算法示例

標簽:鄂州 辛集 太原 綏化 崇左 白銀 衡陽 廊坊

巨人網(wǎng)絡(luò)通訊聲明:本文標題《PHP實現(xiàn)普通hash分布式算法簡單示例》,本文關(guān)鍵詞  PHP,實現(xiàn),普通,hash,分布式,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP實現(xiàn)普通hash分布式算法簡單示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP實現(xiàn)普通hash分布式算法簡單示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章