Windows安装Memcache及PHP测试教程


1 安装

Windows下的Memcache安装:
1、下载 memcache for windows。如下两个地址都可以下载:

下载之后解压到本地目录,本例中解压到这个目录

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  看看现在端口是不是改啦,^_^。