1.memcache中作为查询用的服务器往往不止一台,需要多台协同处理查询!分布式应用时需要考虑多台服务器间压力的分摊,所以往往采用hash算法来实现;
2.hash算法的实现原理可以简单理解为在一个有序排列(整数)的圆盘中存在多个节点,节点按照由小到大的顺序排列,当有查询任务时,将查询的key名转换为整数之后与节点进行对比,如果小于等于某个特定节点,则将此次查询分摊到该节点对应的服务器下;
<?php
//将接收到的字符串转化为整数的方法
interface hash{
public function _hash($str);
}
//找节点的功能
interface distribution{
public function lookup($key);
}
class Consistent implements hash,distribution{
// protected $_node=array();