吾知网

标题: win2008R2下64位系统memcache/memcached安装教程 [打印本页]

作者: jekeyhui99    时间: 2017-12-15 16:17
标题: win2008R2下64位系统memcache/memcached安装教程
memcache和memcached的区别
在自己的新程序中打算全面应用memcached技术,这个很容易理解这是memcached是内存缓存,但是怎么还有memcache呢?
其实很简单,memcache是php的一个扩展,用于php管理memcached,php-memcache.dll。
如果安装了memcached不安装扩展,那么php无法操控memcached,但是命令行使用起来没有问题
如果安装了memcache扩展但是没有安装memcached服务,那么这个就无法使用
只有同时安装了memcached服务和memcache扩展才可以在PHP中使用memcached提高动态网站性能
一、安装memcache的php扩展1. php_memcache.dll 下载:
下载地址:php_memcache.zip http://www.2cto.com/uploadfile/2012/0713/20120713110240777.zip

2. 把php_memcache.dll放到php的ext目录:

例如:D:\WampServer\bin\php\php5.3.11\ext\php_memcache.dll
3. 打开 php.ini 文件:
我的php.ini的位置:D:\WampServer\bin\php\php5.3.11\php.ini
4. 在 php.ini上增加一行:
extension=php_memcache.dll

5. 重启Wampserver的apache服务
二、安装memcached
1. Memcached-win64 下载:

a. 下载最新版:http://blog.couchbase.com/memcac ... e-release-available

b. 直接下载: memcached-win64-1.4.4-14.zip

http://www.2cto.com/uploadfile/2012/0713/20120713110308123.zip

2. 解压放某个盘下面,比如:

D:\WampServer\bin\memcached\memcached.exe

3. 在终端(也即cmd命令界面)下输入以下命令安装windows服务:

D:\WampServer\bin\memcached>memcached.exe -d install

4. 再输入下面命令启动:

D:\WampServer\bin\memcached>memcached.exe -d start


OK~~大功告成
打开phpinfo()页面:


        =========== 代码测试 =============
01        $memcache = new Memcache;
02        $memcache->connect("localhost",11211); # You might need to set "localhost" to "127.0.0.1"
03        
04        echo "Server's version: " . $memcache->getVersion() . "\n";
05        
06        $tmp_object = new stdClass;
07        $tmp_object->str_attr = "test";
08        $tmp_object->int_attr = 123;
09        
10        $memcache->set("key",$tmp_object,false,10);
11        echo "Store data in the cache (data will expire in 10 seconds)\n";
12        
13        echo "Data from the cache:\n";
14        var_dump($memcache->get("key"));


        结果:


01        ---------- PhpUnit ----------
02        Server's version: 1.4.4-14-g9c660c0
03        Store data in the cache (data will expire in 10 seconds)
04        Data from the cache:
05        object(stdClass)#3 (2) {
06          ["str_attr"]=>
07          string(4) "test"
08          ["int_attr"]=>
09          int(123)
10        }
11        
12        Output completed (2 sec consumed) - Normal Termination



http://blog.csdn.net/wusuopubupt/article/details/9128431






作者: jekeyhui99    时间: 2017-12-15 16:34
一、Memcached和Memcache的区别:
    网上关于Memcached和Memcache的区别的理解众说纷纭,我个人的理解是:
Memcached是一个内存缓存系统,而Memcache是php的一个扩展,是php用于操作和管理Memcached的工具。如果安装了Memcached但没有安装Memcache,php无法操控Memcached,但是可以使用命令行来操控Memcached;如果安装了Memcache却没安装Memcached,则无法使用。只有同时安装了Memcached和Memcache,才能在PHP中使用Memcached。
    以上仅代表个人观点。
    网上关于Memcached和Memcache的安装教程有很多,下面是我参考网上教程并动手操作后总结出来的方法,注意,我的操作是基于64位win7系统的。

二、安装memcached:
1. 下载地址:http://pan.baidu.com/s/1gdKbp8R
  (这是在网上找的下载地址,我试过,可以下载)
2. 解压下载后的文件,把它放到一个目录中,如D:\memcached。
3. 打开cmd,进入memcached解压后存放的目录,运行命令:
   memcached.exe -d install
   如果没有意外的话已经安装成功了。
   (目录中应该有memcached.exe这个文件)
4. 测试是否安装成功:
   打开cmd,进入memcached解压后存放的目录,运行命令:
   memcached -h,若安装成功,会出现如下界面:
  

5. 启动memcached:
  打开cmd,进入memcached解压后存放的目录,运行命令:
  memcached.exe -d start
  这时memcached已经启动,在任务管理器中可以看到这个进程:

6. 连接Memcached:
  打开cmd,运行命令:
  telnet 127.0.0.1 11211
  即可连接Memcached。

注:win7中可能会出现“telnet’不是内部或外部命令”的错误,这是因为系统中默认没有安装telnet的缘故,可在“控制面板”->“程序”->“程序和功能”->“打开或关闭Windows功能”中打开“Telnet客户端”。

三、安装memcache的php扩展:
1. 下载地址:http://windows.php.net/downloads/pecl/releases/memcache/3.0.8/
  (注意:要下载对应php版本和系统位数的dll文件)
2. 把php_memcache.dll放到php的ext目录下,如:
   D:\wamp\bin\php\php5.5.12\ext
3. 打开php.ini,在extension处添加一行代码:
   extension=php_memcache.dll
4. 重启服务器。
5. 查看php的extensions服务,php_memcache现在应该可以使用了,即处于打钩状态,之
  前是处于叹号状态的,若还处于叹号状态,用鼠标在上面点击一下就好了。
6. 通过代码测试php是否已经可以使用memcached:
  $memcache = new Memcache;
  $memcache->connect("127.0.0.1",11211);
  echo "Memcached's version: " . $memcache->getVersion() . "<br />";
  $data = array(
           'url' => "http://www.cnblogs.com/wujuntian/",
           'name' => "编程人,在天涯"
  );
  $memcache -> set("info",$data,0,10);
  $info = $memcache->get("info");
  echo '<pre>';
  print_r($info);

若能打印出memcache中的信息,则说明php的memcache扩展已安装成功且能使用了!

注意:运行代码时若出现错误Fatal error: Class 'Memcache' not found,有可能是下载的
      php_memcache.dll文件与php版本不符,或者与系统位数不符。
      我的是64位系统,php版本是5.5.12,下载的是php_memcache-3.0.8-5.5-ts-vc11-x64.zip
      这个文件。






欢迎光临 吾知网 (http://5g99.com/bbs/) Powered by Discuz! X3.2