为LNMP架构添加memcached支持,并完成对缓存效果的测试报告;

memcache由LiveJournal的Brad Fitzpatrick开发,是一个自由、高性能、分布式的分布式内存对象缓存系统,

用于动态Web应用以减轻数据库的负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度。

MemCaChe是一个存储键值对的HashMap,在内存中对任意的数据(比如字符串、对象等)所使用的key-value存储,

数据可以来自数据库调用、API调用,或者页面渲染的结果。

测试环境为:   服务器为192.168.1.188    centos7.2         用一台服务器测试:

一、创建LNMP架构:

[root@node1 ~]#yum install mariadb-server -y                                                ###安装mariadb

[root@node1 ~]#vim /etc/my.cnf

skip_name_resolve= ON

innodb_file_per_table= ON

[root@node1 ~]#systemctl start mariadb.service

[root@node1 ~]#yum install php-fpm php-mysql php-mbstring php-gd php-xml -y

###安装php-fpm

[root@node1 ~]#systemctl start php-fpm

[root@node1 ~]#yum install nginx -y                                                                ###安装nginx

[root@node1nginx]# vim /etc/nginx/nginx.conf                                               ###编辑nginx配置

location ~ \.php$ {

root html;

fastcgi_pass    127.0.0.1:9000;

fastcgi_index   index.php;

fastcgi_param SCRIPT_FILENAME/usr/share/nginx/html$fastcgi_script_name;

include               fastcgi_params;

}

[root@node1 ~]#systemctl start nginx

二、下面我们来使用memcached:

[root@node1 ~]#yum install memcached -y                              ###安装memcached

[root@node1 ~]#systemctl start memcached.service

[root@node1 ~]# ss-tunl                                                            ###监听在tcp和udp  11211端口

udp    UNCONN    0      0             :::11211                     :::*

tcp    LISTEN    0      128            *:11211                      *:*

mencached默认工作于文本协议,使用telnet来连接:

[root@node1 ~]#yum -y install telnet

[root@node1 ~]#telnet 192.168.0.188 11211

Trying192.168.0.188...

Connected to192.168.0.188.

Escape characteris '^]'.

stats                                                                                      ###列出当前MemCache服务器的状态

STAT pid 3540                                                                      ###进程id

STAT uptime 25383                                                              ###运行时间

STAT time1503608657                                                         ###当前时间戳

STAT version1.4.15                                                               ###版本号

STAT libevent2.0.21-stable                                                   ###libvent版本

STAT pointer_size64                                                             ###当前操作系统的指针大小

STAT rusage_user1.063021                                                  ###进程的累积用户时间

STAT rusage_system0.664388                                              ###累积系统时间

STATcurr_connections 10                                                     ###服务器当前存储的items数量

STATtotal_connections 11                                                    ###启动以后存储的items总数量

STATconnection_structures 11                                             ###服务器分配的连接构造数

STAT reserved_fds20

STAT cmd_get 0                                                                     ### get命令(获取)总请求数

STAT cmd_set 0                                                                      ### set命令(获取)总请求数

STAT cmd_flush 0                                                                   ### flush命令请求数

STAT cmd_touch 0                                                                  ### touch命令请求次数

STAT get_hits 0                                                                       ###总命中次数

STAT get_misses 0                                                                  ###未命中次数

STAT delete_misses0                                                              ### delete命令未命中次数

STAT delete_hits 0                                                                  ### delete命中次数

STAT incr_misses 0

STAT incr_hits 0

STAT decr_misses 0

STAT decr_hits 0

STAT cas_misses 0

STAT cas_hits 0

STAT cas_badval 0

STAT touch_hits 0

STAT touch_misses0

STAT auth_cmds 0                                                             ###认证命令处理次数

STAT auth_errors 0                                                            ###认证失败数

STAT bytes_read 19                                                           ###总读取字节数(请求字节数)

STAT bytes_written14                                                        ###总发送字节数(结果字节数)

STATlimit_maxbytes 67108864                                      ###分配给memcached的内存大小(字节)

STATaccepting_conns 1                                                     ###服务器是否达到最大连接(0/1

STATlisten_disabled_num 0                                                ###失效的监听数

STAT threads 4                                                                   ###当前线程数

STAT conn_yields 0                                                            ###连接操作主动放弃数

STAThash_power_level 16

STAT hash_bytes524288

STAThash_is_expanding 0

STAT bytes 0                                                                         ###当前存储占用的字节数

STAT curr_items 0                                                                 ###当前存储的数据总数

STAT total_items 0                                                                ###启动以来存储的数据总数

STATexpired_unfetched 0

STAT evicted_unfetched0

STAT evictions 0

STAT reclaimed 0                                                             ###已过期的数据条目来存储新数据的数目

END

[root@node1 ~]#yum install libmemcached  -y     ### 提供工具程序的程序包

三、安装PHP的memcached的扩展

php连接memcached服务的模块有两个,php-pecl-memcache和php-pecl-memcached.

若要安装php-pecl-memcached需要依赖libmemcached程序包,可以提供相应操作查看memcached的工具。

在这里为方便演示就直接使用php-pecl-memcache扩展模块。

[root@node1 ~]#yum install php-pecl-memcache -y

测试PHP是否支持Memcached

[root@node1 ~]#vim /usr/share/nginx/html/index.php

<?php

phpinfo();

?>

四、测试memcached缓存

[root@node1 ~]# vim/usr/share/nginx/html/test.php          ###编辑测试页

<?php

$mem = new Memcache;

$mem->connect("127.0.0.1", 11211)  or die("Could not connect");

$version = $mem->getVersion();

echo "Server's version: ".$version."<br/>\n";

$mem->set('hellokey', 'Hello World', 0, 600) or die("Failed tosave data at the memcached server");

echo "Store data in the cache (data will expire in 600seconds)<br/>\n";

$get_result = $mem->get('hellokey');

echo "$get_result is from memcached server.";

?>

如果有输出“Hello World is from memcached.”等信息,则表明memcache已经能够正常工作。

查看MemCache服务器的状态:

命中24次

转载于:https://blog.51cto.com/rylan/1967351

LNMP架构添加memcached相关推荐

  1. LNMP架构环境搭建之PHP、Nginx源码编译安装及其简单配置应用

    LNMP架构中的Mysql见上一篇博文"LNMP架构环境搭建之mysql源码编译安装" 一.PHP简介 PHP(外文名:PHP: Hypertext Preprocessor,中文 ...

  2. lnmp架构之mysql部署

    在前面的操作中(之前的文章),我们已经手动配置好了nginx的负载均衡服务器,后端配置有两个RS:在nginx调度服务器上使用php源码编译安装了php,使用nginx发布了php页面,同时为了减轻数 ...

  3. 电商平台 lnmp 架构之 mysql 高速缓存--redis

    电商平台 lnmp 架构之 mysql 高速缓存 --redis 1. redis的介绍 2. redis服务的安装 3. Redis常用命令 4. Redis异步复制 5. Redis高可用 6. ...

  4. 第20章 使用LNMP架构部署动态网站环境

    章节概述: 本章节将从Linux系统的软件安装方式讲起,带领读者分辨RPM软件包与源码安装的区别.并能够理解它们的优缺点. Nginx是一款相当优秀的用于部署动态网站的服务程序,Nginx具有不错的稳 ...

  5. lnmp架构——架构理解

    lnmp架构--架构理解 1 lnmp简介 2 lnmp工作原理 3 lnmp特点 4 lamp与lnmp的区别 4.1 lamp简介 4.2 对比 1 lnmp简介 LNMP是指一组通常一起使用来运 ...

  6. lnmp架构——nginx的负载均衡

    lnmp架构--nginx的负载均衡 1 什么是nginx 2 nginx的作用 3 nginx的特点 4 nginx的安装以及优化 4.1 安装nginx 4.2 优化 5 nginx主配置文件操作 ...

  7. Redis集群——利用Gearman在Lnmp架构中做MySQL的缓存服务器

    一.概述 Redis的集群主要是使用切片技术来搭建的,简单来说就是把所有KEY分散存放到不同的redis节点上(不要把鸡蛋都放在一个篮子里). 1. 集群基本原理 Redis集群中内置了16384个槽 ...

  8. LNMP架构——OpenResty实现缓存前移(到达Nginx前端层面)

    前言 我们都知道Nginx有很多的特性和好处,但是在Nginx上开发成了一个难题,Nginx模块需要用C开发,而且必须符合一系列复杂的规则,最重要的用C开发模块必须要熟悉Nginx的源代码,使得开发者 ...

  9. LNMP架构详解(2)——Mysql、PHP、Nginx源码编译过程

    前言 本文将介绍LNMP架构中Mysql.PHP.Nginx的源码编译过程:这时有人不仅会问:在我们使用的Linux系统中,可以从yum源中获得mysql.php,为什么要进行如此漫长复杂的过程进行编 ...

最新文章

  1. C++11中auto的使用
  2. rgb颜色分量的旋转_RGB分量之偏色与彩色图片转黑白
  3. 工业机器人调运角度_工业机器人如何精准选型,这九大参数告诉你!
  4. 【贪心】奶酪厂(jzoj 1285)
  5. php spider shell,ScrapyShell使用
  6. C++中继承与虚函数示例
  7. 20 MM配置-BP业务伙伴-定义业务伙伴和供应商编码保持一致
  8. 2017年单多晶市场竞争核心分析
  9. dbnetlib sqlserver不存在或拒绝访问_部署IIS+PHP+SQL server环境
  10. Swift - 键盘弹出样式
  11. Struts2的标签库(二)之数据标签
  12. 传动系统结构简图_液压传动系统结构示意图画图技巧(攻略)
  13. 请仔细核对自己的信息
  14. 【刷题笔记】CG第二周
  15. java poi解析excel_Java 利用POI 解析Excel
  16. ECharts series动态加载 可执行方案
  17. 使用order by 按照指定顺序排序或自定义顺序排序
  18. 超详细的k8s对接ceph RBD存储
  19. Android H265
  20. 薅羊毛: 微信小程序开发者可以免费使用验证码短信服务了!

热门文章

  1. [常识]“侯”和“候”区别精讲 ---总是打错字 转帖
  2. java程序定点运行_实现跑步定点打卡
  3. 真正的自动剪辑神器auto-editor!Python完全免费开源,无任何功能限制!走,自媒体快速制作视频必备工具!
  4. PTA - 数据库合集41
  5. 北斗授时服务器的应用及详细介绍
  6. AB级 考试高频词 1000个
  7. web实训知识点_0312
  8. 游戏本连oracle,新平台游戏本接连到来,怎么选择合适的硬件配置?
  9. Swift基础之使用Alamofire库进行网络请求和断点下载
  10. Injective Protocol官方文档翻译(八) -头寸、仓位(Positions)