搭建Memcache到LNMP中

1、Memcache简介

Memcache是一套分布式的高速缓存系统,目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著  。这是一套开源代码软件,以BSD license授权发布。

工作原理:

先检查客户端的请求数据是否在Memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在Memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到Memcached中(Memcached客户端不负责,需要程序明确实现);每次更新数据库的同时更新memcached中的数据,保证一致性;当分配给Memcached内存空间用完之后,会使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。

Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。

Memcached是以守护程序(监听)方式运行于一个或多个服务器中,随时会接收客户端连接和操作。

2、下载及安装

在下载memcache时需要注意,memcache是PHP中的插件而memcached是memcache的主程序。

官方下载地址:https://memcached.org/downloads

PHP中的搭建:官方文档连接,https://www.php.net/manual/zh/memcached.setup.php

解压安装:

##解压并安装

### 1 因为没有configer编译文件,使用phpize编译
[root@servera memcache-4.0.5.2]# /usr/local/bin/phpize
Configuring for:
PHP Api Version:         20190902
Zend Module Api No:      20190902
Zend Extension Api No:   320190902

### 2 源码安装三部曲
[root@servera memcache-4.0.5.2]# ./configure --with-php-config=/usr/local/lnmp/php/bin/php-config
[root@servera memcache-4.0.5.2]#  make && make install

### 3 安装OpenSSL插件
[root@servera openssl]# phpize
[root@servera openssl]# ./configure --with-php-config=/usr/local/lnmp/php/bin/php-config --with-openssl
....
[root@servera openssl]# make && make install

 因为memcache插件中无编译文件,所以通过phpize进行编译,产生编译文件。

图 1 对memcache插件做编译

PHP插件均可通过phpize进行编译:

编译openssl插件:

图 2 编译OpenSSL插件

 

【说明】 若无phpize命令,可查看安装的PHP编译文件是否进行了全局变量连接:ln -s /usr/local/lnmp/php/bin/* /usr/local/bin/,连接后刷新全局变量配置: source /etc/profile即可使用。

3、搭建到LNMP架构中

3.1 配置memcache插件到PHP的配置中

##编译PHP模块扩展文件
###编辑配置文件内容:
....
761 extension_dir = /usr/local/lnmp/php/lib/php/extensions/no-debug-non-zts-20190902/
....
 914 extension=openssl.so
 915 extension=memcache.so
....

### 配置完成,重新加载
[root@servera openssl]# /etc/init.d/php-fpm reload
Reload service php-fpm  done

图 3 编译配置文件

 

图 4 查看模块是否编译成功

 3.2 配置memcached服务

### 配置 memcache的服务

### 1 安装memcached服务
[root@servera no-debug-non-zts-20190902]# yum install -y memcached  ##yum仓库中有,可直接安装

[root@servera ~ ]# systemctl start memcahed.service ##启动memcache服务

### 2 安装测试软件
[root@servera openssl]# yum install -y telnet
[root@servera openssl]# telnet localhost 11211
....
set name 0 0 6 (设置name:命令 测试主机 编号 缓存时间<单位为S> 字符大小)
...
get name (查看name)
...
delete name (删除name)

 安装完成后,启动memcache服务。

图 5 安装启动

使用telnet进行测试: 

图 6 telnet测试

 3.3 测试memcache的缓存功能 

 ##配置memcache的缓存测试
[root@servera memcache-4.0.5.2]# pwd
/opt/rpms/memcache-4.0.5.2
[root@servera memcache-4.0.5.2]# cp memcache.php example.php  /usr/local/lnmp/nginx/html/
                                    ##复制测试页和图形监控页面到Nginx的目录下
[root@servera memcache-4.0.5.2]# vim /usr/local/lnmp/nginx/html/memcache.php 
...                                    ##编辑配置文件
 21 
 22 define('ADMIN_USERNAME','memcache');    // Admin Username
 23 define('ADMIN_PASSWORD','linux');       // Admin Password  ##设置密码
 24 define('DATE_FORMAT','Y/m/d H:i:s');
 25 define('GRAPH_SIZE',200);
 26 define('MAX_ITEM_DUMP',50);
...
 30 $MEMCACHE_SERVERS[] = '192.168.1.120:11211'; // add more as an array
                                        ##设置访问目标
...
图 7 配置访问页面

 

图 8 访问页面

结果测试:

图 9 图形统计界面
图 10 测试访问页面

随着测试页面访问次数的增多,hits和misess的比例逐渐增加。

进行并发访问测试:

图 11 index.php页面

 

图 12 缓存测试页面

更多详情配置,参考博客:https://www.cnblogs.com/lpfuture/p/5800042.htmlhttp://tengine.taobao.org/book/chapter_5.html

 参考资料:百度百科

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值