memcached环境搭建

Centos6.5下安装memcached以及php的memcached扩展,并整合到Thinkphp中

一:首先搭建memcached服务器

1. 查询资源库是否存在memcahchedyum searchmemcached

 memcached环境搭建

2. memcached安装:由于不是root用户固命令为:sudo yum -y installmemcached

memcached环境搭建

 

 

3. 查看是否安装成功:memcached -h,出现如下,说明安装成功

memcached环境搭建

 

 

4. 配置memcached:vi/etc/sysconfig/memcached

memcached环境搭建

 

5. 设置不同级别下的开机启动:chkconfig--level 2345 memcached on

memcached环境搭建

 

6. 开启memchached服务:sudoservice memcached start,并查看运行状态:

memcached-tool 127.0.0.1:11211 stats

memcached环境搭建

 

 

二.安装php的memcache扩展

1.打开pecl.php.net网站,去里面搜索memcache相关扩展,里面也有memcached的

memcached环境搭建

 

2.点开memcache,我这里用的是2.2.7版本,找到链接下载,使用命令:

wgethttp://pecl.php.net/get/memcache-2.2.7.tgz

memcached环境搭建

memcached环境搭建

 

3.解压文件 :tar -zxvfmemcache-2.2.7.tgz

memcached环境搭建

 

4.进入目录:cd  memcache-2.2.7,并查找phpize命令所在目录,直接在本目录中执行:/usr/local/php/bin/phpize,运行后会多出些文件:

memcached环境搭建

memcached环境搭建

 

5.配置:./configure--with-php-config=/usr/local/php/bin/php-config

memcached环境搭建

 

6.编译,运行:make &&make install

 

三.安装php的memcached扩展

说明:

安装memcached扩展,要比memcache多一步,首先安装libmemcached

 

1.下载:

wget http://launchpad.net/libmemcached/1.0/1.0.9/+download/libmemcached-1.0.9.tar.gz

     解压:tar -zxvf  libmemcached-1.0.9.tar.gz

http://xg2007524.blog.51cto.com/869106/1103023

2.cd libmemcached--1.0.9.tar.gz

 

3../configure –with-memcached

 

4.编译安装:make && make install

 

5.同上下载安装memcached扩展

下载:wget http://pecl.php.net/get/memcached-2.2.0.tgz

        解压:tar -zxvf memcached-2.2.0.tgz

 

6.进入cdmemcached-2.2.0.tgz,执行:/usr/local/php/bin/phpize

memcached环境搭建

 

 

6.配置:./configure--enable-memcached --with-php-config=/usr/local/php/bin/php-config--with-libmemcached-dir=/usr/local/libmemcached/include/libmemcached

memcached环境搭建

 

7.编译安装:make &&make install

 

8.现在开始编辑php配置文件:vim/etc/php.ini,文件里加上三句:

extension_dir ="/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226"//扩展库路径

extension=memcache.so //扩展名字,这是我们前面刚安装的memcache扩展

extension=memcached.so //这是memcached的扩展

memcached环境搭建

 

9.重启服务:

a):关闭nginx服务:sudo /usr/local/nginx-1.8.0/sbin/nginx-s stop

 

b):关闭php-fpm服务:kill allphp-fpm

(如何此命令关不了,就查找进程号kill掉:sudo netstat -anp |grep php)

 

c):开启php-fpmsudo /usr/local/php/sbin/php-fpm -c /etc/php.ini -y                                        /usr/local/php/etc/php-fpm.conf(将php.ini配置里面的最新数据重新加载进来)

 

d):启动nginx服务:sudo/usr/local/nginx-1.8.0/sbin/nginx

 

10.测试:

代码示例:

<?php

  $memcache = new Memcache;

 $memcache->connect('182.92.196.241', 11211) or die ("Could notconnect");

  $key = md5('www.emule.com');

  $cache_result = array();

  $cache_result = $memcache->get($key);

  if($cache_result){

      //那我们直接取出缓存的内容就可以了

     $demos_result=$cache_result;

      echo "I got thecache<br/>";

  } else {

      $demos_result =array("a","b","c");

      echo "This is thefirst time visited, no cache<br/>";

      $memcache->set($key,$demos_result, MEMCACHE_COMPRESSED, 1200);

  }

 

  foreach($demos_result as$row){

      echo$row."<br/>";

  }

?>

 

 

 

四.Thinkphp的memcache缓存配置

 

1.在项目的配置文件里加上memcache配置项

memcached环境搭建

2.示例代码测试:

memcached环境搭建

 

3.打开本机命令窗口,telnet查看服务器内存 “test” 数据,出现数据表示成功:

memcached环境搭建

cmd :telnet 182.92.196.24111211

        memcached环境搭建

memcached环境搭建