win2003 IIS6.0安装memcached及memcached配置
一、下载memcached的win32版本。如下载memcached 1.2.1 for Win32 binaries (Dec 23, 2006) 这个。
二、将下载的压缩包解压缩后,将看到一个名为memcached-1.2.1-win32的文件夹,将其改名为memcached并复制到c:/php下。
三、进入命令行,键入c:/php/memcached/memcached.exe -d install 并执行命令。如果没出任何信息,那说明已经安装成功了,现在开始启动memcached,还是命令行,键入c:/php/memcached/memcached.exe -d start 并执行命令。如果没有任何提示,那说明已经启动成功了。
四、接下来下载php对memcache的扩展dll文件,要下载php相对应的版本。如下载php_memcache-cvs-20090703-5.3-nts-VC9-x86.zip (2009-07-03 06:07 -0700) 。
五、下载后解压缩,压缩包里只有一个php_memcache.dll文件,将文件复制到c:/php/ext目录下。
六、进入c:/php目录,编辑php.ini文件。找到extension=php_wincache.dll这行,在这行下面添加一行
extension=php_memcache.dll
七、保存php.ini文件后,重启iis。
八、建立测试页面,代码如下:
<?php
$mem = new Memcache;
$mem->connect('127.0.0.1',11211);
$mem->set("mytest",'Hello World!',0,60);
$val = $mem->get('mytest');
echo $val;
?>
运行此页面,如果你可以看到输出的结果为Hello World! 那么恭喜你,你的memcached已经成功运行并且可以被php所调用了。
九、至此搭建windows2003+php(fastcgi)+iis6.0+wincache+memcached已经全部完毕。
以下内容为memcache的命令说明:
-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行(仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助
按照上面的安装步骤安装之后,使用memcached –m 200来调整最大内存占用之后会发现没有起作用,总是默认的64MB的内存,在网上搜了一下,原因是注册表中并没有写入信息,可以这样来修改。
1. memcached –d shutdown 首先关闭memcached服务。
2.进入注册表,找到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesmemcached Server,在其中有一个ImagePath项,值为"c:/php/memcached/memcached.exe" -d runservice,在后面加上-l 127.0.0.1 -m 3000 -c 2048。
3.memcached –d start 启动memcached服务,这样就将memcached的最大内存修改为了3000MB。