欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

网站加速VPS篇 memcache和memcached安装方法

程序员文章站 2023-10-31 08:38:40
memcache是什么?     memcache是一个*和开放源代码、高性能、分配的内存对象缓存系统。用于加速动态web应用程序,减轻数...

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

    安装memcache

# cd /usr/local/src
# 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
  

    以下几句,是以php所在目录为/usr/local/php为例,如果您的php有变化,请自行替换几句中/usr/local/php的部分

# /usr/local/php/bin/phpize
# ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
# make && make install
  

    将memcache加入php扩展

    # vi /etc/php.ini(/etc/php.ini地址为我的php.ini位置,如果你不知道你的php.ini在哪里,可以用# find / -name php.ini进行查找,或者传个探针phpinfo,找到configuration file (php.ini) path)中php.ini的位置.

    末尾加入

    按键盘上的 i 开始编辑

    ctrl+f翻页拉到最下面在[zend]之前加入

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
extension=memcache.so
  

    按esc键,再输入

    :wq

    保存退出

    重启你的web服务器,比如apache

/etc/init.d/httpd restart  

    下面刷新下php探针,看下是不是有这个了,有的话就是装好了

memcache
version  2.2.5memcache
version  2.2.5
  

 

下面安装memcached

    装memcached首先需要安装安装libevent

    如果是centos可以yum安装

# yum install libevent-devel  

    如果不支持yum的系统,可以这样装libevent

# cd /usr/local/src
# wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz
# tar vxf libevent-1.4.12-stable.tar.gz
# cd libevent-1.4.12
# ./configure --prefix=/usr/local/libevent
# make && make install
  

    接续安装memcached

# cd /usr/local/src
# 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
# 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  

    按键盘上的 i 开始编辑

    在最后加入

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

    按esc键,再输入

    :wq

    保存退出

    如果需要,可以reboot一下,不过不用reboot应该已经生效~

    加速效果测试

    用没有什么负载的discuz x1做个测试,未启用时

gmt+8, 2010-9-12 09:08, processed in 0.038893 second(s), 2 queries.  

    缓存启用后的效果,不过总体感觉vps上效果不如用eaccelerato缓存加入效果那么明显

gmt+8, 2010-9-12 09:08, processed in 0.008383 second(s), 2 queries, memcache on.  

    完成

下面安装memcached

    装memcached首先需要安装安装libevent

    如果是centos可以yum安装

# yum install libevent-devel  

    如果不支持yum的系统,可以这样装libevent

# cd /usr/local/src
# wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz
# tar vxf libevent-1.4.12-stable.tar.gz
# cd libevent-1.4.12
# ./configure --prefix=/usr/local/libevent
# make && make install
  

    接续安装memcached

# cd /usr/local/src
# 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
# 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  

    按键盘上的 i 开始编辑

    在最后加入

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

    按esc键,再输入

    :wq

    保存退出

    如果需要,可以reboot一下,不过不用reboot应该已经生效~

    加速效果测试

    用没有什么负载的discuz x1做个测试,未启用时

gmt+8, 2010-9-12 09:08, processed in 0.038893 second(s), 2 queries.  

    缓存启用后的效果,不过总体感觉vps上效果不如用eaccelerato缓存加入效果那么明显

gmt+8, 2010-9-12 09:08, processed in 0.008383 second(s), 2 queries, memcache on.  

    完成