;
解决方案 :http://www.th7.cn/system/lin/201509/130606.shtml
ln -s /usr/local/lib/libevent.so /usr/lib/libevent-2.0.so.5
4》Memcahed测试
set test 0 0 3 向test当中存储数据
123 输入的key为test存入数据
STORED 返回set结果
get test 获取数据
VALUE test 0 3
123 取得key为test中的数据
incr test 1 数据 增加1
124
decr test 2 数据减少2
122
quit
5》重启
# kill `cat /tmp/memcached.pid`
6》Memcahed分布式部署概念
1>方案
通常较小的应用一台Memcached服务器就可以满足需求,但是大中型项目可能就需要多台Memcached服务器了,这就牵涉到一个分布式部署的问题。
对于多台Memcached服务器,怎么确定一个数据应该保存到哪台服务器呢?有两种方案,一是普通Hash分布,二是一致性Hash分布,下面详细说明:
跟DB的Amoeba一样这里通过Hash算法后进行取模 % 2分布到 server1, server2
<?php
/**
* 普通Hash分布
*/
//Hash函数
function mHash($key){
$md5 = substr(md5($key), 0, 8);
$seed = 31;
$hash = 0;
for($i = 0; $i < 8; $i++){
$hash = $hash * $seed + ord($md5{$i});
$i++;
}
return $hash & 0x7FFFFFFF;
}
//假设有2台Memcached服务器
$servers = array(
array('host' => '192.168.1.1', 'port' => 11211),
array('host' => '192.168.1.1', 'port' => 11211)
);
$key = 'MyBlog';
$value = 'http://blog.phpha.com';
$sc = $servers[mHash($key) % 2];
$memcached = new Memcached($sc);
$memcached->set($key, $value);
?>
************Memcached命令使用推荐博客:http://www.cnblogs.com/jeffwongishandsome/archive/2011/11/06/2238265.html