Windows下Memcache安装

随着时间的推移,网上现在能找到的在 Windows下安装 Memcache 的文档大多已经过时。雪峰这里再简要介绍一下当下最新版的安装和配置方法。

Memcached 在其官网是不断更新的,可惜只有源码,没有 windows 编译版。

http://memcached.org/

找到当下最新的 Windows 编译版,在

http://code.jellycan.com/memcached/

找到 win32 binary: memcached-1.2.6-win32-bin.zip 直接下载即可。(当然这里也介绍了在 Windows 下编译地具体方法,有兴趣的可以自己试试。)安装和其它版本没有区别:

解压到一个目录下,如 C:\memcached,
在命令行状态下输入: C:\memcached\memcached.exe -d install 。至此memcached已经安装成windows服务,可以用 memcached.exe -d start 启动memcached服务,也可以在 windows 服务中启动。

配置 PHP

PHP 的官网也没有提供 Windows 版的 memcached 扩展,还好有

http://downloads.php.net/pierre/

在此页搜 memcache 会找到如下几条文件
php_memcache-2.2.6-5.3-nts-vc9-x86.zip (2010-10-03 13:46 -0700)
MD5 (php_memcache-2.2.6-5.3-nts-vc9-x86.zip) = de463ea7271c357f2e317128a5370bfb
php_memcache-2.2.6-5.3-vc9-x86.zip (2010-10-03 13:45 -0700)
MD5 (php_memcache-2.2.6-5.3-vc9-x86.zip) = 2021ceb248dabae438796c9ccfa1c2e3

根据自己的 PHP 环境选择相应的版,请查看 phpinfo() 返回的 PHP 信息,找到 PHP Extension Build 一项,我这里的值是 "API20090626,TS,VC9",我选择 php_memcache-2.2.6-5.3-vc9-x86.zip 。
下载解压后,放到 PHP 的扩展的目录下,如我这里就是 PHP 安装目录下的 ext 文件夹,然后在 php.ini 里增加一项

extension=php_memcache.dll

重启 HTTP 服务,如 Apache ,再回来看 phpinfo() 里多了 memcache 一段,就表示扩展已经安装成功。如果在重启 HTTP 服务时报错,通常是 PHP 扩展选择的版本不对,换用其它版本再试一下即可。

最后用 PHP 手册里的范例代码测试一下,功能正常就安装完成了。

Windows下的Memcache安装与配置

1.

很多phper不知道如何在Windows下搭建Memcache的开发调试环境,最近个人也在研究Memcache,记录下自己安装搭建的过程。

其实我开始研究Memcache的时候并不知道居然还有memcached for Win32这个鸟东西,害得我在CnetOS下折腾1天才搞定,今天突然发现Windows下的Memcache进行开发调试完全没有问题,所以写篇Memcache的文档分享给大家。

Windows下的Memcache安装:

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版本的文件

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

Memcache环境测试:

运行下面的php文件,如果有输出This is a test!,就表示环境搭建成功。开始领略Memcache的魅力把!

< ?php

$mem = new Memcache;

$mem->connect("127.0.0.1″, 11211);

$mem->set('key', 'This is a test!', 0, 60);

$val = $mem->get('key');

echo $val;

?>

2.

Windows下Mencached双开

Submitted by eglic on 2009, April 24, 7:35 PM

从Linux下移植公司的项目到Windows平台进行开发调试,需要用到两个MemCached

Linux下的脚本是这样的

#For session

/usr/local/bin/memcached -l 127.0.0.1 -p 11212 -m 128 -C 256 -d

/usr/local/bin/memcached -l 127.0.0.1 -p 11211 -m 512 -C 256 -d

Win32版的memcached是系统服务,要双开就必须安装两个服务了

改文件名的方法没用,只好暴力地改注册表了,步骤如下

1、在CMD里运行 C:\Memcached\Memcached.exe -d install

2、打开注册表编辑器,定位到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server

把目录名字(memcached Server)改成"Memcached Session Service"。

键DisplayName的值也改成 "Memcached Session Service"。

键ImagePath 的值改成 "C:\memcached\memcached.exe" -p 11211 -m 8 -d runservice

3、重启电脑

4、再次在CMD里面运行 C:\Memcached\Memcached.exe -d install

5、打开注册表编辑器,再次定位到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server

把目录名字(memcached Server)改成"Memcached Data Service"。

键DisplayName的值也改成 "Memcached Data Service"。

键ImagePath 的值改成 "C:\memcached\memcached.exe"-p 11212 -m 64 -d runservice

6、在管理工具->服务,按F5刷新一下,应该能看到两个 Memcached开头的服务,启动之。

7、如果第6步没搞定,重启一下,搞定收工

随机推荐

  1. 获取json数据

    通过异步获取json来展示数据表格,性能提高不少.实例如下: 前台: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999 ...

  2. HTML5学习笔记二 HTML基础

    一.HTML 标题 HTML 标题(Heading)是通过<h1> - <h6> 标签来定义的. <h1>标题一</h1> <h2>标题二& ...

  3. 什么是UIScrollView

    移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限 当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容 普通的UIView不具备滚动功能,不适合显示过多的内容 ...

  4. JAVA第三周作业(从键盘输入若干数求和)

    JAVA第三周作业(从键盘输入若干数求和) 在新的一周,我学习了JAVA的IO编程.下面的代码实现了从键盘输入若干数求和的目标.import java.util.Scanner; public cla ...

  5. Oracle学习笔记2

    主键 create table userinfo_test( userid number(3,0), username varchar2(20), pwd varchar2(20), constrai ...

  6. javascript 数据类型转换

    javascrīpt 类型转换函数 在Javascrīpt中,Double类型和Int类型都是看作为Number对象. 1.Number转成String number.toString() Strin ...

  7. Base64编码格式详解

    什么是Base64? 按照RFC2045的定义,Base64被定义为:Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式.(The Base64 Content-T ...

  8. js判断是否为ie6以外的浏览器,若是,则调用相应脚本

    if(navigator.userAgent.indexOf("MSIE 6.0") < 0) { //相应JavaScript脚本}

  9. [xsd学习]xsd元素限定

    限定(restriction)用于为 XML 元素或者属性定义可接受的值 一.xsd中主要限定格式如下: <xs:element name="xxx"><!--元 ...

  10. Markdown资源 markd

    markdown是将某些格式的文本,翻译成HTML的一个库,非常精妙! https://www.npmjs.com/package/markedhttps://github.com/adam-p/ma ...