一,memcache分布式的解释
memcache分布式,说白一点就是在很多台机子上装memcache,同时使用他们。
二,启动多个memcached进程,可以在一台机子上,可以在多台机子上
/usr/local/bin/memcached -d -m 20 -u zhangy -p 12000 -P ./memcached.pid
/usr/local/bin/memcached -d -m 20 -u zhangy -p 13000 -P ./mem.pid
我在同一台机子上,启动了二个memcached进程
[zhangy@BlackGhost drochilli]$ ps -e |grep memcache
17904 ? 00:00:00 memcached
17906 ? 00:00:00 memcached
表明已经启动了二个进程
三,修改php文件
$mem->addServer("127.0.0.1",12000)or die ("Could not add server 12000");
$mem->addServer("127.0.0.1",13000)or die ("Could not add server 13000");
四,测试结果
从上图中就可以看出,二个服务器都启动了,并且都起作用了,12000这个使用内存为11.1KB,13000这台端口使用内存为5.9KB。
简单吧,我就不喜欢复杂的东西。
转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/cache/108.html
学习一下关于memcache分布式的帖子,有一个地方不明白
1、关于“三,修改php文件
$mem->addServer("127.0.0.1",12000)or die ("Could not add server 12000");
$mem->addServer("127.0.0.1",13000)or die ("Could not add server 13000");”
是修改那个php文件。
2、我把memache.php放到目录底下访问总是显示“Cant connect to:v:a”麻烦指教一下。
1,memcache你要用php的扩展,new memcache()出来之后就可以addServer了。
2,这个监测的php文件,memcache.php要修改里面的用户名和密码的。你可以打开这个php看一下,如果密码对了,还连接不上,看了你的memcached进程起来了没有。
php的扩展(memcache)我已经安装了,但是
$mem->addServer("127.0.0.1",12000)or die ("Could not add server 12000");
$mem->addServer("127.0.0.1",13000)or die ("Could not add server 13000");
我还是不明白以上2句要添加到哪里?麻烦详细告诉一下。
< ?php
$mem = new Memcache;
$mem->addServer("127.0.0.1",12000)or die ("Could not connect");
$mem->addServer("127.0.0.1",13000)or die ("Could not connect");
$mem->set('key', 'This is a test!memcache is work', 0, 60);
$val = $mem->get('key');
echo $val;
?>
这里简单举个例子,$mem->set值后,你可以把二个连接注释掉一个,值也是能得到的。
我很想知道,你的那个关于memcache的数据信息的那个图片是怎么出来的,换句话说能不能吧这个软件推荐下,我正在找一个管理memcache的软件,我的邮件上面 谢谢 非常谢谢!
memcache的源安装文件里面有一个memcache.php文件,这个就是监测工具
我的问题是把memache.php放到目录底下访问总是显示“Cant connect to:v:a”,但是我用phpinfo函数检测memcache模块已经安装好了的,另外,memcache的源安装文件里有个run-tests的文件,不知为什么我运行却显示,ERROR: environment variable TEST_PHP_EXECUTABLE must be set to specify PHP executable!
想问博主我大约要怎么解决啊?
90%的可能性是你的php没装好,你的php是自己手动编译安装的吧。
但我的PHPINFO可正常运行,网站也能正常运作的。我查看phpinfo,也有显示memcache模块的。
出現 Cant connect to:v:a 是因為那個版本的 memcache.php 裡的 PHP 程式有 bug,搜尋 return value; 改成 return $value; 就可以了