作者:可卡因 | 来源:互联网 | 2023-06-13 20:24
每个服务器都由自己处理并发的机制;apache是路处理模块(MPM);mysql是多线程机制。缓存算法:LRU,最近最少使用的缓存删除开启2个memcache服务总结:1.mem
![这里写图片描述](https://www.#.com/go/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTYwMzEyMTQ0MTU0MDky)
![这里写图片描述](https://www.#.com/go/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTYwMzEyMTQ0NDA2NTky)
每个服务器都由自己处理并发的机制;
apache 是 路处理模块(MPM);
mysql 是 多线程机制。
![这里写图片描述](https://www.#.com/go/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTYwMzEyMTQ0NzUyNTAx)
缓存算法:LRU,最近最少使用的缓存删除
![这里写图片描述](https://www.#.com/go/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTYwMzEyMTQ1MjI3MDQx)
开启 2 个 memcache 服务
![这里写图片描述](https://www.#.com/go/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTYwMzEyMTUwMDA0ODAz)
![这里写图片描述](https://www.#.com/go/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTYwMzEyMTUxODE4ODEw)
总结:
1. mem服务的数据不是同步, 数据是分布的
2. 把什么数据放入到哪个memcached是由客户端的mem对象决定
3. 当执行addServer的时候,并不是立即去连接mem服务,而是通过计算,hash后才去决定连接哪个mem服务,因此当你大量加入服务器到连接池,没有多余开销
mem4.php
$mc = new Memcache();
$mc->addserver('127.0.0.1',11211);
$mc->addserver('127.0.0.1',9999);
if($mc->add('key6','hahaha',MEMCACHE_COMPRESSED,200)){
echo 'add ok';
}else{
echo 'add faild';
}
if($mc->add('key7','hahaha7',MEMCACHE_COMPRESSED,200)){
echo 'add ok';
}else{
echo 'add faild';
}
if($mc->add('key8','hahaha8',MEMCACHE_COMPRESSED,200)){
echo 'add ok';
}else{
echo 'add faild';
}
if($mc->add('key9','hahaha9',MEMCACHE_COMPRESSED,200)){
echo 'add ok';
}else{
echo 'add faild';
}
mem5.php
php
$mc = new Memcache();
$mc->addserver('127.0.0.1',11211);
$mc->addserver('127.0.0.1',9999);
$val = $mc->get('key6');
var_dump($val);