Memcache与Memcached介绍及安装配置

也许大家一看到Memcache和Memcached会有点晕,这两者有什么关系又有什么区别呢,下面先给大家说下Memcached,Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。想必大家也听说过Memcached,就是一个缓存系统,我们可以把一些经常要查询的数据放到缓存中,避免每次要使用的时候都去查询数据库。这样既能大幅的加快数据读取速度,而且也降低了服务器的压力,所以一般大访问量的网站都会用的Memcached。Memcached与Memcache的区别至于Memcached和Memcache的区别,其实很简单,一个是服务端,一个是客户端,就像mysql一样,我们在命令行里输入各种sql语句就能查询到需要的结果,这就是客户端,客户端接收我们输入的命令从服务端查询,mysqld就是服务端,就是响应客户端的额后台进程,在这里也一样Memcached是服务端,而Memcache就是客户端。所以我们要使用Memcached,首先在服务端安装好Memcached,并运行Memcached,然后安装Memcache就能使用了。在这里我们会详细的讲解在Linux下安装Memcached服务端,并讲解通过PHP扩展安装Memcache,以便我们直接通过PHP来测试Memcached。Memcached的安装(Linux环境下)由于Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,我们先把这两个软件都下载下来#1.分别把memcached和libevent下载回来,放到 /tmp 目录下:# cd /tmp# wget <a target=_blank href="" target="_blank" style="color: rgb(51, 119, 170); text-decoration: none;"></a> # wget <a target=_blank href="~provos/libevent-1.2.tar.gz" target="_blank" style="color: rgb(51, 119, 170); text-decoration: none;">~provos/libevent-1.2.tar.gz</a> #2.先安装libevent:# tar zxvf libevent-1.2.tar.gz# cd libevent-1.2# ./configure –prefix=/usr# make# make install#3.测试libevent是否安装成功:# ls -al /usr/lib | grep libeventlrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3-rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3-rw-r–r– 1 root root 454156 11?? 12 17:38 libevent.a-rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.lalrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.3还不错,都安装上了。#4.安装memcached,同时需要安装中指定libevent的安装位置:# cd /tmp# tar zxvf memcached-1.2.0.tar.gz# cd memcached-1.2.0# ./configure –with-libevent=/usr# make# make install如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。安装完成后会把memcached放到 /usr/local/bin/memcached ,#5.测试是否成功安装memcached:# ls -al /usr/local/bin/mem*-rwxr-xr-x 1 root root 137986 11?? 12 17:39 /usr/local/bin/memcached-rwxr-xr-x 1 root root 140179 11?? 12 17:39 /usr/local/bin/memcached-debug好了,以上就把memcached安装成功了下面安装Memcache的PHP扩展1.在 选择相应想要下载的memcache版本。2.安装PHP的memcache扩展tar vxzf memcache-2.2.1.tgzcd memcache-2.2.1/usr/local/php/bin/phpize./configure –enable-memcache –with-php-config=/usr/local/php/bin/php-config –with-zlib-dirmakemake install3.上述安装完后会有类似这样的提示:Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/4.把php.ini中的extension_dir = "./"修改为extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/"5.添加一行来载入memcache扩展:extension=memcache.so6、修改未配置后重启PHP到这里我们已经把Memcache的服务端和客户端都安装好了,下面我们来通过PHP做一个简单地测试Memcache功能测试首先我们得在服务端启动已经安装好的Memcached/usr/local/bin/memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid参数说明:-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测试:

[php]view plain

<?php$mem=newMemcache;$mem->connect("127.0.0.1",11211);//此处的IP和端口号就是上一步我们启动memcached指定的,否则会连接不上$mem->set(‘key’,’setavalue’,0,60);$val=$mem->get(‘key’);echo$val;?>

参考来源:Memcache学习总结1-Memcache与Memcached介绍及安装配置

辽远或偏僻的地方,而会常常想起这一次的旅行,想起那座山,那个城,那些人……

Memcache与Memcached介绍及安装配置

相关文章:

你感兴趣的文章:

标签云: