日期:2014-05-16  浏览次数:20499 次

memcache 多服务器
php操作memcache可以利用Memcache::addServer添加多台memcache服务器

$memcache = new memcahce;
$memcache->addServer($ip1,11211);
$memcache->addServer($ip2,11211);
我对服务器不懂,有几点不明白希望指点一下

我理解的memcache是用来缓存数据的,如果是在一台服务器上一台memcache服务器不能解决大访问量的话,那么我们设置第二台memcache服务器的ip是不是另一台机器了,而我们的网站代码只能放一台服务器上吧,比如我们将网站源码放在ip1这台服务器上,那么我添加第二台memcache服务器有什么用呢$memcache->addServer($ip2,11211); ip2难道不是另一台机器做了服务器吗?我对于这个很是不理解,什么集群了也不懂 求高手指点
------解决方案--------------------
是的,ip2 是另外一台机器
所以你需要保存的东西可能是放在 ip1 中,也可能是放在 ip2 中
但你并不需要管他,你只要知道保存的东西可以随时取回来就够了
------解决方案--------------------
有10万并发过来的话,通过某种技术应该可以使每台分配到1万的并发(负载均衡是这样吗?)。yes
这10台服务器上都要有index.php文件吗(也就是要实现10台服务器的网站源码数据同步吗)?yes

还有一种问题,多台memcache服务器 只是为了增加数据存储容量的吗?还是说对效率会有提高?
容量会增加,效率会提高(负载均衡)

例如:
有1台服务器apache+php(存网站源码)  和10台memcache服务器(存数据)
10万并发到这1台服务器的时候,从这10台mm分别取数据 和 只从1台mm服务器 取数据是一样快的吗
每台memcache有连接数与内存分配限制, 取数据速度取决与网络速度。