windwos下安装php的memcache扩展
以前以了解memcache的时候,感觉很迷茫,什么服务端,什么客户端,搞的很迷糊,今天做了一些研究彻底弄明白了memcache和memcached的区别
先说下windows下的安装方式:
这个方式网上的很多,而且也很简单,
在安装之前需要重点说一些要注意的地方,我就是因为这些问题,纠结了好久时间
首先要注意自己的php版本要你所要下载的memcache扩展保持一致,如果在网上没有找到
http://museum.php.net/php5/ 可以到这个网址上找与自己php版本对应的pecl包,里面有对应的php_memcache.dll的文件
如果这上面找不到的话,就去google里搜索下,实在不行的话,就只有去网上下载源码包,使用vc6自己编译吧。注意最好是使用vc6,不然可能会出现问题。当然另一个方法就是换其它版本的php了。
我就是因为版本不对应,在配置完之后重启apache的时候,提示找不到指定模块
好了,接下来说下我的环境吧,我使用的是php5.3.5
很“幸运”的是,在上面的地址里,没有找到对应的php_memcache.dll文件。
于是在网上找了一会儿,才找到一个5.3的,结果也很幸运的,可以使用
下来说下步骤吧
写道
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. 在php.ini 加入一行 ‘extension=php_memcache.dll’
6.重新启动Apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!
这个步骤是我在网上抄的,不过步骤没有错,
我们接下来说下这个memcached和memcache区别
网上说这个东西是一个c/s结构的软件。确实是
如果是c/s结构的话,那就说明必须有一个服务端和一个客户端
所以,server端的就是memcached,client端可以看作是php_memcache.dll
怎么说呢php_memcache.dll提供了一组函数,用来缓存,提取,删除缓存等一系列的操作,而通过这些函数,最终把数据是放到了安装有memcached服务的机器上,可以是本机,也可以是其它网络上的机器。
你可以做下这样的测试,只启用php_memcache.dll中的一些函数,对缓存进行操作,把memcached服务给停用一下,看是否能正常使用。这时候是无法使用的
所以,可以把memcached看作是服务端 php_memcached看作是客户端
这样大致就明白了
最后给大家推荐一个小工具,叫memadmin是一个查看memcached服务器的一个小工具,很强大,是用php+jquery写的,也会放在本博文的结尾处,感兴趣的,可以下载看下.
linux暂时还没有配置,稍候会尝试下,然后把所遇到的问题给总结下
附:memcached的一些命令
memcache命令 写道
-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 显示帮助