在Windows下安装Memcached

@date:2015-12-05 22:02:00

###Windows下的Memcache安装:

需要运行命令行工具cmd
请以管理员权限运行

开始->附件->命令提示符,以管理员身份运行
假如当前C:\windows\system32,输入cd,回车;输入D:
回车,进入D盘根目录,输入cd D:\phpsetup\memcached进入memcached.exe所在目录

命令提示符下运行
安装:

memcached -d install
memcached -d start
net start "Memcached Server"

卸载:

memcached -d stop
memcached -d remove
sc delete "Memcached Server"

具体安装步骤:

  1. 下载memcache的 windows稳定版,解压放某个盘下面,比如在c:\memcached
  2. 在终端(也即cmd命令界面)下输入 c:\memcached\memcached.exe -d install 安装。
  3. 再输入: c:\memcached\memcached.exe -d start 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。
    4.下载php_memcache.dll, 请自己查找对应的php版本的文件。
  4. C:\winnt\php.ini 加入一行 extension=php_memcache.dll
    6.重新启动Apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!

memcached的基本设置:

-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 显示帮助

###windows命令行连接服务端

telnet 192.168.130.70 11211

可以输入常用命令:

stats

添加数据

格式:add 变量名 标记位  时间  长度   

例:

add  one 1 100000 10  
1234567890

获取 get 变量名

get one
get <键>*
<键>* - key

###错误指令
Memcache的协议的错误部分主要是三个错误提示之提示指令:

ERROR -- 普通错误信息,比如指令错误之类的
CLIENT_ERROR <错误信息> -- 客户端错误
SERVER_ERROR <错误信息> --服务器端错误

php下测试是否安装成功:test.php

<?php
$mem = new Memcache;
$mem->connect('127.0.0.1',11211)or die("连接失败");
$mem->set('key', 'This is a test!', 0, 60);
$val = $mem->get('key');
echo $val;
echo "<br/>version:".$mem->getVersion();
?>

假如输出This is a test!和版本号,说明安装成功!


###memcached在windows7上的安装问题
错误:
通过cmd命令行进入到D:\webEve\memcached(下载后的解压目录)
运行 memcached.exe -d install

报错failed to install service or service already installed

解决方法:
管理员身份安装,首先找出cmd.exe的原文件
右击以管理员身份运行,接下来就OK(win7下的用户还真麻烦).


###PHP MemCached 高级缓存应用
认识一个 Memcache 的方法使用:

$memcache = new memcache;
$memcache->connect('127.0.0.1', 11211) or die ("连接失败");
$memcache->set('Key', 'Value', 'Zip', 'Time');

$val = $memcache->get('Key');

Memcache 有哪些常用方法

Memcache::add — 添加一个值,如果已经存在,则返回false

Memcache::addServer — 添加一个可供使用的服务器地址Memcache::close — 关闭一个Memcache对象Memcache::connect — 创建一个Memcache对象

memcache_debug — 控制调试功能Memcache::decrement — 对保存的某个key中的值进行减法操作

Memcache::delete — 删除一个key值Memcache::flush — 清除所有缓存的数据

Memcache::get — 获取一个key值Memcache::getExtendedStats — 获取进程池中所有进程的运行系统统计

Memcache::getServerStatus — 获取运行服务器的参数Memcache::getStats — 返回服务器的一些运行统计信息

Memcache::getVersion — 返回运行的Memcache的版本信息

Memcache::increment — 对保存的某个key中的值进行加法操作

Memcache::pconnect — 创建一个Memcache的持久连接对象Memcache::replace — R对一个已有的key进行覆写操作

Memcache::set — 添加一个值,如果已经存在,则覆写Memcache::setCompressThreshold — 对大于某一大小的数据进行压缩

Memcache::setServerParams — 在运行时修改服务器的参数

Build by Loppo 0.6.14