Windows安装Memcache及PHP测试教程
1 安装
Windows下的Memcache安装:
1、下载 memcache for windows。如下两个地址都可以下载:
- Memcached 64-bit for Windows:http://www.urielkatz.com/archive/detail/memcached-64-bit-windows/
- 官网源码:http://memcached.org/downloads
下载之后解压到本地目录,本例中解压到这个目录
c:\memcached
2、在命令行状态下输入这个命令安装:
d:\memcached\memcached.exe -d install
至此memcached已经安装成windows服务。而且以后memcached将作为windows的一个服务每次开机时自动启动(可以通过 运行 > services.msc 看到 memcached 的启动类型为“自动”)。这样服务器端已经安装完毕了。
3、在命令行下输入:
c:\memcached\memcached.exe -d start
启动 memcached 服务,当然也可以选择在windows服务中启动,默认监听端口是 11211。你没看错,就是这么简单,简简单单的三步memcache的服务器端就准备完毕。
2 配置PHP
php安装Memcached模块支持
1、下载 php_memcache.dll 模块,下载地址:
如3.0.8,则点击其后的 DLL 图标,就进入这个页面下载:
注意,要根据自己的PHP版本和字节位数(不是系统位数)选择扩展包,否则会无法使用。
2、修改php.ini,添加如下内容:
extension=php_memcache.dll
3、重启apache服务器,然后查看一下phpinfo,如果有 memcache,那么就说明安装成功!
3 测试Memcached
1、简单测试代码如下:
<?php $mem = new Memcache; $mem->connect("127.0.0.1", 11211); $mem->set('key', 'Hello Memcached!', 0, 60); $val = $mem->get('key'); echo $val; ?>
2、对象存储测试代码
在该例程中,会用cache保存一个对象,然后读取。对象和其他非标量类型在保存之前会被序列化,所以在cache中是无法存储资源的(如连接标识符等)。
<?php // 新建连接 $memcache = new Memcache; $memcache->connect('localhost', 11211) or die ("Could not connect"); // 打印版本号 $version = $memcache->getVersion(); echo "Server's version: ".$version."<br/>n"; // 新建对象 $tmp_object = new stdClass; $tmp_object->str_attr = 'test'; $tmp_object->int_attr = 123; // 保存对象 $memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server"); echo "Store data in the cache (data will expire in 10 seconds)<br/>n"; // 获取对象 $get_result = $memcache->get('key'); echo "Data from the cache:<br/>n"; var_dump($get_result); ?>
3、使用memcache会话处理
<?php $session_save_path = "tcp://$host:$port?persistent=1&weight=2&timeout=2&retry_interval=10, ,tcp://$host:$port"; ini_set('session.save_handler', 'memcache'); ini_set('session.save_path', $session_save_path); ?>
4 参数
Memcache 命令的参数选项有:
- -p 监听的端口,默认是 11211
- -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 显示帮助
如果要修改启动的端口和内存使用等参数,则打开注册表,找到:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server
其中的ImagePath项的值为:
"c:\memcached\memcached.exe" -d runservice
改成:
"c:\memcached\memcached.exe" -p 12345 -m 128 -d runservice
存后重新启动 memcached 服务,然后在命令行中输入netstat -n -a 看看现在端口是不是改啦,^_^。