基于php的一个最简单的memcache的分布式算法
来源:互联网 发布:新加坡方便面yum 编辑:程序博客网 时间:2024/05/16 08:48
首先,核心函数是这个
function mHash($key){
$md=substr(md5($key),0,8);
$seed=31;
$hash=0;
for($i=0;$i<8;$i++){
$hash=$hash*$seed+ord($md5{$i});
}
return $hash & 0x7FFFFFFF;
}
class HashServer{
private $serverlist;
private $issorted=false;
function addServer($server){
$hash=mHash($server);
if(!isset($this->serverlist[$hash])){
$this->serverlist[$hash]=$server;
}
return true;
}
function getKeyServer($key){
$hash=mHash($key);
if(!this->issorted){
ksort($this->serverlist,SORT_NUMERIC);
}
foreach($this->serverlist as $k=>$v){
if($hash>=$k) return $v;
}
return $this->serverlist[count($this->serverlist)-1];
}
}
//下面开始测试
$hs=new HashServer();
$hs->addServer('192.168.1.1');
$hs->addServer('192.168.1.2');
$hs->addServer('192.168.1.3');
echo $hs->getKeyServer('key1');
echo $hs->getKeyServer('key2');
echo $hs->getKeyServer('key3');
- 基于php的一个最简单的memcache的分布式算法
- 一个最简单的基于PHP+jQuery的AJAX例子
- memcache的分布式hash算法
- PHP和分布式Memcache的一个小问题
- memcache分布式 [一致性hash算法] 的php实现
- memcache分布式 [一致性hash算法] 的php实现
- memcache分布式 [一致性hash算法] 的php实现
- 基于XMemcache 的分布式 Memcache的实现
- 基于memcache的分布式缓存操作
- memcache 的内存管理介绍和 php实现memcache一致性哈希分布式算法
- memcache 的内存管理介绍和 php实现memcache一致性哈希分布式算法
- memcache安装和简单的分布式
- Memcache(5)------Memcached的分布式算法
- Memcache的分布式应用
- Memcache的分布式应用
- Memcache的分布式
- memcache的分布式缓存
- Memcache的分布式介绍
- 黑马程序员-Annotation
- 如何返回一个为字符串的response
- Python--stuct模块 pack unpack
- lua闭合函数
- linux shell ps详解
- 基于php的一个最简单的memcache的分布式算法
- C#中Abstract和Virtual
- 软件优化理论基础以及方法论小结.
- SSH深度历险(三) EJB Session Bean有状态和无状态的区别与联系
- linux安装vsftpd
- document.cookie的使用
- android判断当前应用程序处于前台还是后台的两种方法
- 通过光耦电气隔离,光耦的两端采用两路独立的供电电路
- SharePoint2013导入Excel到列表