狗狗感冒会呼吸急促吗:Windows下的Memcache安装 - Memcache

来源:百度文库 编辑:中财网 时间:2024/05/08 05:56:10

« Linux下的Memcache安装 Memcache基础教程 »

Windows下的Memcache安装

很多phper不知道如何在Windows下搭建Memcache的开发调试环境,最近个人也在研究Memcache,记录下自己安装搭建的过程。
其实我开始研究Memcache的时候并不知道居然还有memcached forWin32这个鸟东西,害得我在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;
?>

参考资料
对Memcached有疑问的朋友可以参考下列文章:
Linux下的Memcache安装:http://www.ccvita.com/257.html
Windows下的Memcache安装:http://www.ccvita.com/258.html
Memcache基础教程:http://www.ccvita.com/259.html
Discuz!的Memcache缓存实现:http://www.ccvita.com/261.html
Memcache协议中文版:http://www.ccvita.com/306.html
Memcache分布式部署方案:http://www.ccvita.com/395.html

“Windows下的Memcache安装”

35条回复
  1. bbq at 2007-12-10 15:52:47 回复

    不错,不错,谢谢分享

  2. zjstandup at 2007-12-20 10:17:28 回复

    好东西,我拿过去了!

  3. 秋秋 at 2008-01-21 07:51:44 回复

    php_memcache.dll点击,已经无法下载了,水水,另外

    memcached 1.2.1 for Win32 有三个版本,下载那个啊,我是win2003

    memcached 1.2.1 for Win32 source code (Dec 23, 2006)
    memcached 1.2.1 for Win32 binaries (Dec 23, 2006)
    patches to add support for Win32 to the code in the svn (Dec 23, 2006)

    谢谢

  4. kimi at 2008-01-21 15:55:11 回复

    Win32 binaries下载这个

    php_memcache.dll可以在这里下载http://pecl.php.net/package/memcache

  5. 戏水 at 2008-02-21 21:59:15 回复

    估计会有.net的朋友搜到这篇文章,别灰心 看这里
    《分布式缓存系统Memcached简介与实践 .Net版》
    http://www.cnblogs.com/zjneter/archive/2007/07/19/822780.html

  6. 游鱼 at 2008-02-29 14:13:22 回复

    楼主,请教一个问题,我在win环境下面通过命令启动memcached 执行:memcached.exe -d start -p 11217 -l 10.0.68.53

    问题:只监听了11211 默认端口,而且不能开通多个端口实例

  7. kimi at 2008-02-29 18:19:08 回复

    一般情况下 win环境下的Memcached仅仅是作为开发调试之用。
    回答完毕

  8. pu at 2008-03-23 09:36:10 回复

    讲得很好,谢谢,希望有更多的人将好东西拿出来分享

  9. tenglong at 2008-08-14 22:42:35 回复

    windows 下边,如果想将memcache 作为服务安装,并且设置一个1G的内存供它用。应该怎么操作?

    memcache.exe -d install -m 1024 -p 11211 -l 127.0.0.1

    是这样吗?可是我看服务里边的命令行没变化呀……

  10. kimi at 2008-08-16 13:26:08 回复

    是这样设置,你刷新下就变化了,你在win下看服务器列表,比如运行services.msc查看服务器列表,服务器参数改变后,刷新下就能看 到了。

  11. tenglong at 2008-08-18 16:21:25 回复

    kimi 你确定是这样设置的吗?我试了,不行。而且我单独用

    memcache.exe -d start -m 256 启动的,但是使用memcache.php 看服务器状态,最大的仍然是64MB。

  12. lffly at 2008-08-19 10:29:10 回复

    不错.

  13. kimi at 2008-08-19 13:48:12 回复

    @tenglong 是的 -m 256参数就表示最大使用内存为256M,我们平时使用都是在Linux下,win下的具体情况没有进行过更多的测试。

  14. 飘絮 at 2008-09-06 23:44:57 回复

    我在vista下为什么无法安装啊!当打memcached.exe -d install 时出现failed to install service or service is already installed!!!为什么啊

    余 at 1 月 29th, 2010 at 13:49:17 回复

     

    @飘絮,

    windows7 iis7 同样出现,始终找不到办法解决

    memcached.exe -d install

    failed to install service or service is already installed

  15. kimi at 2008-09-06 23:55:28 回复

    @飘絮 没碰到过你这种情况
    运行services.msc看看Windows Installer是不是禁用了

  16. 仰望星空的狼 at 2008-09-15 19:37:34 回 复

    在你这瞧了两篇文章了 不留个脚印说不过去 文章很不错 正打算用memcache

  17. kimi at 2008-09-15 22:51:36 回复

    @仰望星空的狼 哈哈,不留脚印的人很多的~~

  18. lorui at 2008-10-31 11:04:04 回复

    您好!
    按您的方法进行安装, PHPINFO里能看到Memcache, 但是, 运行你下面的那个例子里出错:
    Fatal error: Class ‘Memcache’ not found in F:\php\memcache.php on line 2

  19. kimi at 2008-10-31 23:08:32 回复

    @lorui
    重新做下面两个步骤~
    4.下载php_memcache.dll,请自己查找对应的php版本的文件
    5. 在C:\winnt\php.ini 加入一行 ‘extension=php_memcache.dll’

  20. lanneret at 2008-11-26 17:35:11 回复

    谢谢分享,支持一下

  21. Big ANt at 2008-11-28 10:14:37 回 复

    Fatal error: Class ‘Memcache’ not found in F:\php\memcache.php on line 2
    也是出现这个错误。还好解决了。
    感觉还是版本问题。
    我php用的是5.2.6
    下载pecl 5.2.6,里面的php_memceche.dll不好用。
    又下载了个5.2.1的php_memceche.dll,终于ok了。

  22. 必优 at 2008-12-04 10:15:31 回复

    Fatal error: Class ‘Memcache’ not found
    我用的是php_memcache.dll php-5.2.1
    PHP环境是5.2.6,phpinfo显示安装成功,但不知道为什么出现上面的提示!

  23. kimi at 2008-12-06 02:24:39 回复

    @必优 应该是你下载的php_memceche.dll不对,换个版本试试。

  24. 1987 at 2008-12-12 16:24:05 回复

    php_memcache.dll可以在这里下载http://pecl.php.net/package/memcache

    php 版本5.2.3该下哪个啊?

  25. shui at 2009-09-09 17:21:50 回复

    默认的安装方法和端口。

  26. 方医生 at 2009-09-26 16:46:27 回复

    使用vista或windows 7时,需要以管理员身份运行命令行,再执行安装服务等操作。

  27. Mervin.G at 2009-11-23 11:55:02 回复

    好东西,收了.

  28. 小鱼 at 2009-12-10 15:28:42 回复

    为什么我的phpinfo 里面没有出现memcache?

    kimi at 12 月 14th, 2009 at 11:49:56 回复

     

    @小鱼, 重新做下面两个步骤~
    4.下载php_memcache.dll,请自己查找对应的php版本的文件
    5. 在C:\winnt\php.ini 加入一行 ‘extension=php_memcache.dll’

    ycoe at 1 月 14th, 2010 at 17:17:37 回复

     

    @小鱼,

    说得没错,刚开始我也没有安装成功,所以开启了Windows Install服务和用管理员身份运行(先写成bat文件,再运行)就可以了.

    另,我用的是Zend Server,它里面已经带有php_memcached.dll文件了.在安装目录的\ZendServer\lib\phpext下,因为是自带的, 所以也不用担心版本问题了.
    另,在php.ini文件里面也有,只是没有开放而已,把前面的#删掉,重启apache就OK了.谢谢楼主

  29. karl at 2010-02-03 10:08:50 回复

    谁会真的在市场环境上用windows作为memcached的环境。

    kimi at 2 月 18th, 2010 at 20:00:17 回复

     

    @karl, 这个是给程序员调试程序方便的了 :)

  30. airminder at 2010-03-17 12:31:13 回复

    請問站主 我是用win2003+appserv(php+mysql+apache)
    我已經在SERVER端安裝好memcached程式 也執行服務OK了
    然後也在php.ini加入這行php_memcache.dll
    接著把php_memcache.dll放到php下的extensions目錄中
    但我在http://pecl.php.net/package/memcache中
    下載 memcache-2.2.5.tgz,解開後並沒有php_memcache.dll
    請問你說請下載php對應版本的php_memcache.dll是要去哪邊下載
    我一直卡在這邊
    感謝你的幫忙

    kimi at 3 月 22nd, 2010 at 22:38:42 回复

     

    @airminder, 我现在还真不知道那里有win的下班,不过你可以搜索下APMServ看看这里集成的php_memcache.dll你能不能用

站长统计