Windows安装Memcache及PHP测试教程
1安装
Windows下的Memcache安装:
1、下载memcacheforwindows。如下两个地址都可以下载:
- Memcached64-bitforWindows:http://www.urielkatz.com/archive/detail/memcached-64-bit-windows/
- 官网源码:http://memcached.org/downloads
下载之后解压到本地目录,本例中解压到这个目录
c:\memcached
2、在命令行状态下输入这个命令安装:
d:\memcached\memcached.exe-dinstall
至此memcached已经安装成windows服务。而且以后memcached将作为windows的一个服务每次开机时自动启动(可以通过运行>services.msc看到memcached的启动类型为“自动”)。这样服务器端已经安装完毕了。
3、在命令行下输入:
c:\memcached\memcached.exe-dstart
启动memcached服务,当然也可以选择在windows服务中启动,默认监听端口是11211。你没看错,就是这么简单,简简单单的三步memcache的服务器端就准备完毕。
2配置PHP
php安装Memcached模块支持
1、下载php_memcache.dll模块,下载地址:
- https://pecl.php.net/package/memcache
如3.0.8,则点击其后的
- https://pecl.php.net/package/memcache/3.0.8/windows
注意,要根据自己的PHP版本和字节位数(不是系统位数)选择扩展包,否则会无法使用。
2、修改php.ini,添加如下内容:
extension=php_memcache.dll
3、重启apache服务器,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!
3测试Memcached
1、简单测试代码如下:
<?php $mem=newMemcache; $mem->connect("127.0.0.1",11211); $mem->set('key','HelloMemcached!',0,60); $val=$mem->get('key'); echo$val; ?>
2、对象存储测试代码
在该例程中,会用cache保存一个对象,然后读取。对象和其他非标量类型在保存之前会被序列化,所以在cache中是无法存储资源的(如连接标识符等)。
<?php //新建连接 $memcache=newMemcache; $memcache->connect('localhost',11211)ordie("Couldnotconnect"); //打印版本号 $version=$memcache->getVersion(); echo"Server'sversion:".$version."<br/>n"; //新建对象 $tmp_object=newstdClass; $tmp_object->str_attr='test'; $tmp_object->int_attr=123; //保存对象 $memcache->set('key',$tmp_object,false,10)ordie("Failedtosavedataattheserver"); echo"Storedatainthecache(datawillexpirein10seconds)<br/>n"; //获取对象 $get_result=$memcache->get('key'); echo"Datafromthecache:<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地址,默认是本机
- -dstart启动memcached服务
- -drestart重起memcached服务
- -dstop|shutdown关闭正在运行的memcached服务
- -dinstall安装memcached服务
- -duninstall卸载memcached服务
- -u以的身份运行(仅在以root运行的时候有效)
- -m最大内存使用,单位MB。默认64MB
- -M内存耗尽时返回错误,而不是删除项
- -c最大同时连接数,默认是1024
- -f块大小增长因子,默认是1.25
- -n最小分配空间,key+value+flags默认是48
- -h显示帮助
如果要修改启动的端口和内存使用等参数,则打开注册表,找到:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcachedServer
其中的ImagePath项的值为:
"c:\memcached\memcached.exe"-drunservice
改成:
"c:\memcached\memcached.exe"-p12345-m128 -drunservice
存后重新启动memcached服务,然后在命令行中输入netstat-n-a 看看现在端口是不是改啦,^_^。