您的位置:首页 > 数据库 > Memcache

memcache与memcached安装配置

2012-09-22 12:27 405 查看

memcache与memcached安装配置

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两样我们都需要安装。

###安装php-memcache

# cd /home/soft

# wget http://pecl.php.net/get/memcache-2.2.5.tgz

# gzip -d memcache-2.2.5.tgz

# tar xvf memcache-2.2.5.tar

# cd memcache-2.2.5

# /usr/bin/phpize

# ./configure --enable-memcache --with-php-config=/usr/bin/php-config --with-zlib-dir

# make

# make install

成功安装完成后,会有如下提示:

Installing shared extensions: /usr/lib/php/modules/

编辑/etc/php.ini找到上面这行,在其后添加一行

extension=memcache.so

即加入了memcache模块。

重启httpd-server

# /etc/init.d/httpd restart

检测php探针,确认出现memcache即可。

###安装memcached

首先需要安装libevent,centos系统可以直接yum安装,debian系统可以直接用apt-get安装,否则请使用以下源码安装:

# cd /home/soft

# wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz

# tar zxvf libevent-1.4.12-stable.tar.gz

# cd libevent-1.4.12

# .configure --prefix=/usr/local/libevent

# make && make install

接下来安装memcached

# cd /home/soft

# wget http://cloud.github.com/downloads/saberma/saberma.github.com/memcached-1.4.4.tar.gz
# tar vxf memcached-1.4.4.tar.gz

# cd memcached-1.4.4

# ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent

# make && make install

安装完后启动memcached并分配32m内存(32为使用内存数,可按自身情况修改)

/usr/local/memcached/bin/memcached -d -m 32 -l 127.0.0.1 -p 11211 -u root

将memcached加入启动项

# vi /etc/rc.d/rc.local

/usr/local/memcached/bin/memcached -d -m 32 -l 127.0.0.1 -p 11211 -u root

参数说明:

-d选项是启动一个守护进程.

-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB.

-u是运行Memcache的用户,我这里是root.

-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200.

-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口.

-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定.

-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid.

测试:

<?php

$memcache = new Memcache; //创建一个memcache对象

$memcache->connect('localhost', 11211) or die ("Could not connect"); //连接Memcached服务器

$memcache->set('key', 'test'); //设置一个变量到内存中,名称是key 值是test

$get_value = $memcache->get('key'); //从内存中取出key的值

echo $get_value;

?>

附:php中memcache方法

01. Memcache::add — 添加一个值,如果已经存在,则返回false

02. Memcache::addServer — 添加一个可供使用的服务器地址

03. Memcache::close — 关闭一个Memcache对象

04. Memcache::connect — 创建一个Memcache对象

05. memcache_debug — 控制调试功能

06. Memcache::decrement — 对保存的某个key中的值进行减法操作

07. Memcache::delete — 删除一个key值

08. Memcache::flush — 清除所有缓存的数据

09. Memcache::get — 获取一个key值

10. Memcache::getExtendedStats — 获取进程池中所有进程的运行系统统计

11. Memcache::getServerStatus — 获取运行服务器的参数

12. Memcache::getStats — 返回服务器的一些运行统计信息

13. Memcache::getVersion — 返回运行的Memcache的版本信息

14. Memcache::increment — 对保存的某个key中的值进行加法操作

15. Memcache::pconnect — 创建一个Memcache的持久连接对象

16. Memcache::replace — R对一个已有的key进行覆写操作

17. Memcache::set — 添加一个值,如果已经存在,则覆写

18. Memcache::setCompressThreshold — 对大于某一大小的数据进行压缩

19. Memcache::setServerParams — 在运行时修改服务器的参数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: