Memcache是什么?

Memcache是一个自由和开放源代码、高性能、分配的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。

它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这 些HashTable。

Memcached又是什么?

Memcached是Memcache系统的主程序文件,以守护程序方式运行于一个或多个服务器中,随时接受客 户端的连接操作,使用共享内存存取数据。

那PHP中的Memcache是什么?php中的所讲的memcache是用于连接Memecached的php支持扩展之一(可用phpinfo查看),类似mbstring,eAccelerator。

简单的说

Memcache是总的缓存系统项目名称,容易和PHP中的Memcache混淆。

我们常提到Memcache其实是PHP中的Memcache,即PHP的Memcached扩展支持。

我们常提到Memcached是服务端主程序文件,服务端安装程序。

为了让你的程序飞起来,必须安装memcached服务端程序和PHP的Memcached扩展,所以如果您要使用Memcache来缓存系统,memcache和memcached两样我们都需要安装。

 

 

安装环境为:Redhat 5.4 + php + mysql + apache (LAMP)

一、安装memcached

Memcached需要依赖libevent包

1.安装libevent

[root@mg04 opt]# tar zxvf libevent-1.4.13-stable.tar.gz

 

[root@mg04 opt]# cd libevent-1.4.13-stable

[root@mg04 libevent-1.4.13-stable]# ./configure --prefix=/usr/local/libevent

[root@mg04 libevent-1.4.13-stable]# make && make install

[root@mg04 libevent-1.4.13-stable]# ln -s /usr/local/libevent/lib/libevent-1.4.so.2 /usr/lib

2.安装memcached

 

[root@mg04 opt]# tar zxvf memcached-1.4.5.tar.gz

[root@mg04 opt]# cd memcached-1.4.5

[root@mg04 memcached-1.4.5]# ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent

[root@mg04 memcached-1.4.5]# make && make install

[root@mg04 ~]# /usr/local/memcached/bin/memcached -d -m 50 -u root -p 11211

#参数说明,-m表示使用多少兆缓存空间,-u表示指定哪个用户来运行,-p表示监听的端口默认是11211,-d表示后台运行

[root@mg04 ~]# netstat -an |grep 11211

tcp        0      0 0.0.0.0:11211               0.0.0.0:*                   LISTEN      

tcp        0      0 :::11211                    :::*                        LISTEN      

udp        0      0 0.0.0.0:11211               0.0.0.0:*                               

udp        0      0 :::11211                    :::*        

 

[root@mg04 ~]# vim /etc/rc.local

/usr/local/memcached/bin/memcached -d -m 50 -u root -p 11211

 

二、安装memcache

[root@mg04 opt]# tar -zxvf memcache-2.2.5.tgz

[root@mg04 opt]# cd memcache-2.2.5

[root@mg04 opt]# /usr/local/php/bin/phpize

[root@mg04 opt]# ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir

[root@mg04 opt]# make && make install

安装完成后,会生成插件文件:

/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/

修改php配置文件

[root@mg04 opt]# vi /usr/local/php/etc/php.ini

将extension_dir = “./”修改为
extension_dir = "
/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/ "
在下面添加一行来载入memcache扩展:extension=memcache.so

安装完成,重启apache

浏览php测试页面,看到如下表示插件安装成功:

新建一个php页面,测试memcached服务端:

 

<?php

$memcache = new Memcache;

$memcache->connect('localhost',11211) or die ("Could not connect");

$memcache->set('Key','test');

$get_value = $memcache->get('Key');

echo $get_value;

?>

出现下图,表示成功:

参考文献: