lnmp架构部署请查看我前面的博文:https://blog.csdn.net/y_yang666/article/details/87784082
Memcache简介:
- memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著 [1] 。这是一套开放源代码软件,以BSD license授权发布。
- Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度
- memcached 是高性能的分布式内存缓存服务器。一般的使用目的
是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态 Web 应用的速度、提高可扩展性。
Memcache的部署:
1.官网下载Memcache安装包并解压
[root@server1 ~]# tar zxf memcache-2.2.5.tgz
[root@server1 memcache-2.2.5]# ls
config9.m4 memcache.c memcache_queue.h
config.m4 memcache_consistent_hash.c memcache_session.c
config.w32 memcache.dsp memcache_standard_hash.c
CREDITS memcache.php php_memcache.h
example.php memcache_queue.c README
2.添加php环境变量并刷新
[root@server1 memcache-2.2.5]# vim ~/.bash_profile ##添加php环境变量
PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin:/usr/local/lnmp/php/bin
[root@server1 bin]# source ~/.bash_profile ##刷新环境变量
3.配置编译环境
phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块,比如你想在原来编译好的php中加入memcached或者ImageMagick等扩展模块,可以使phpize。
[root@server1 memcache-2.2.5]# phpize
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226
[root@server1 memcache-2.2.5]# ./configure
4.编译安装
[root@server1 memcache-2.2.5]# make && make install
5.给php添加Memcache模块
[root@server1 memcache-2.2.5]# cd /usr/local/lnmp/php/etc
[root@server1 etc]# vim php.ini ##编辑配置文件
873 extension=memcache.so ##将873行注释去掉
[root@server1 etc]# /etc/init.d/php-fpm reload ##重新加载配置文件
[root@server1 etc]# php -m | grep memcache ##过滤Memcache模块,发现已经添加成功
memcache
6.安装Memcache服务,并开启
[root@server1 ~]# yum install -y memcached
[root@server1 ~]# /etc/init.d/memcached start ##开启服务 ,
[root@server1 ~]# netstat -tnlp ##查看11211端口是否存在
tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN 6857
测试:
[root@server1 ~]# telnet localhost 11211
set name 0 0 6 ## 第一个0:编号 ;第二个0:缓存时间 ; 6:字符数
westos
STORED
westosh
ERROR
get name
VALUE name 0 6
westos
END
delete name ##删除name
DELETED
get name
END
quit ##退出
7.Memcache实现网页登陆查看
[root@server1 memcache-2.2.5]# cp memcache.php example.php /usr/local/lnmp/nginx/html/ ##拷贝.php文件到nginx默认发布目录下
[root@server1 memcache-2.2.5]# cd /usr/local/lnmp/nginx/html/
[root@server1 html]# vim memcache.php
23 define('ADMIN_PASSWORD','westos'); // Admin Password ##修改登陆密码
28 $MEMCACHE_SERVERS[] = '172.25.4.1:11211'; // add more as an array ##更改ip
测试:
1.网页访问:172.25.4.1/example.php
2.网页访问:172.25.4.1/memcache.php,进行登陆(用户:memcache ;密码:westos(上面配置文件中修改的密码)),出现memcache页面
右上角可以查看缓存命中率
3.访问速度测试:
1).访问index.php,可以查看到访问时间和出错情况
[kiosk@foundation4 ~]$ ab -c 10 -n 5000 http://172.25.4.1/index.php ##10并发 5000次(10个用户同时访问5000次)
2).真机访问example.php,可以查看到速度非常快,出错少(因为访问example.php时,直接从缓存中读取)
[kiosk@foundation4 ~]$ ab -c 10 -n 5000 http://172.25.4.1/example.php
网页查看缓存命中率为100%