codetc - 网站开发技术 首页 后端 服务器 查看内容

在windows系统下安装memcached

2015-3-31 00:18| 发布者: CODETC| 查看: 2383| 评论: 0

Memcached 作为一个高性能的分布式内存对象缓存系统,通常被用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于“Key=>Value”方式组织数据,基于网络连接方式完成服务。需要注意的是memcached使用内存管理数据,所以它是易失的,当服务器重启,或者memcached进程中止,数据便会丢失,所以memcached不能用来持久保存数据。

下面我们讲解一下在windows系统下如何安装memcached

(1)安装memcache首先你得下载两个文件,memcached 的安装文件和php所需要的 pecl 扩展 php_memcache.dll 文件,因为这里是介绍在 windows 下面安装 memcached ,所以你需要下载的是 memcached.exe 文件。 memcached.exe 具体下载地址为:http://code.jellycan.com/files/memcached-1.2.6-win32-bin.zip ,至于 php_memcache.dll,这里就不提供下载地址了,自己去百度搜吧,因为这个一定要和自己的php版本相同。

(2)以上所需工具准备完毕,那就可以开始安装并调试了。首先安装 memcache。

将下载的 memcache 文件包解压放某个盘下面,比如在c:\memcached

在终端(即cmd命令界面)下输入 "c:\memcached\memcached.exe -d install" 安装

这个时候你可能不知道你安装的 memcache 使用的是什么端口,下面通过修改注册表将端口修改为我们指定的端口。打开注册表编辑器,找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server 下面找到一个 ImagePath 的字符串项,双击该串,在该项目值后面追加写入 -l 127.0.0.1 -m 45 -p 51321 (这里的意思即访问ip为:127.0.0.1 使用45M内存,51321为端口),修改完毕关闭注册表编辑器。

接着命令界面里输入:"c:\memcached\memcached.exe -d start" 启动 memcache 服务或者在计算机服务项里面找到memcached服务,重新启动。

以上操作完毕,让我们来检测一下缓存服务 memcache 是否成功安装并运行了。继续在终端输入:"telnet 127.0.0.1 51321",输入完毕可能什么反应,接着输入 stats ,如果出现一堆类似下面这样的看懂或看不懂的英文,就说明 memcache 服务已经成功安装并运行了。

STAT pid 5636
STAT uptime 936
STAT time 1344915126
STAT version 1.2.6
STAT pointer_size 32
STAT curr_items 0
STAT total_items 0
STAT bytes 0
STAT curr_connections 2
STAT total_connections 3
STAT connection_structures 3
STAT cmd_get 0
STAT cmd_set 0
STAT get_hits 0
STAT get_misses 0
STAT evictions 0
STAT bytes_read 19
STAT bytes_written 7
STAT limit_maxbytes 67108864
STAT threads 1
END

注意:如果你的是win 7系统,有可能会提示“'telnet' 不是内部或外部命令,也不是可运行的程序”类似的信息,经排查这是因为 Win7 默认没有安装telnet功能,所以你直接用telnet命令是用不了的,你可以去“控制面板”--》“程序”---》“打开或关闭Windows功能”,勾上“telnet客户端”即可。

(3)配置PHP。将下载的 pecl 模块包,解压后将 php_memache.dll 放到 php 目录的 ext 目录下(提示:为了防止出现一些意外错误,最好下载和 php 版本一致的模块包)。然后找到 php.ini 文件,在里面添加一行:extension=php_memcache.dll,然后重启 apache 服务器,至此 php 的 memcache 扩展包就已经安装完了。

(4)测试 memcache 是否能在php环境下工作了。我们可以用如下一段代码做测试:
$memcache_obj = new Memcache;
$memcache_obj->connect('127.0.0.1', 51321); 
$memcache_obj->set('var_key', 'memcache 测试!',MEMCACHE_COMPRESSED, 50);
echo $memcache_obj->get('var_key');
如果正常输出 “memcache 测试!” 说明你已经顺利的为你的php环境搭建好了memcache服务了。注意这里可能会报“Class 'Memcache' not found in...”类的错误,这个经测试是因为扩展包和你的php环境不一致造成的,请重新下载一个和你的php环境一直的扩展包就行了。
文章来源 CODETC,欢迎分享,转载请注明地址: http://www.codetc.com/article-167-1.html

最新评论

 作为游客发表评论,请输入您的昵称

返回顶部