LNMP架构添加memcached
为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相关推荐
- LNMP架构环境搭建之PHP、Nginx源码编译安装及其简单配置应用
LNMP架构中的Mysql见上一篇博文"LNMP架构环境搭建之mysql源码编译安装" 一.PHP简介 PHP(外文名:PHP: Hypertext Preprocessor,中文 ...
- lnmp架构之mysql部署
在前面的操作中(之前的文章),我们已经手动配置好了nginx的负载均衡服务器,后端配置有两个RS:在nginx调度服务器上使用php源码编译安装了php,使用nginx发布了php页面,同时为了减轻数 ...
- 电商平台 lnmp 架构之 mysql 高速缓存--redis
电商平台 lnmp 架构之 mysql 高速缓存 --redis 1. redis的介绍 2. redis服务的安装 3. Redis常用命令 4. Redis异步复制 5. Redis高可用 6. ...
- 第20章 使用LNMP架构部署动态网站环境
章节概述: 本章节将从Linux系统的软件安装方式讲起,带领读者分辨RPM软件包与源码安装的区别.并能够理解它们的优缺点. Nginx是一款相当优秀的用于部署动态网站的服务程序,Nginx具有不错的稳 ...
- lnmp架构——架构理解
lnmp架构--架构理解 1 lnmp简介 2 lnmp工作原理 3 lnmp特点 4 lamp与lnmp的区别 4.1 lamp简介 4.2 对比 1 lnmp简介 LNMP是指一组通常一起使用来运 ...
- lnmp架构——nginx的负载均衡
lnmp架构--nginx的负载均衡 1 什么是nginx 2 nginx的作用 3 nginx的特点 4 nginx的安装以及优化 4.1 安装nginx 4.2 优化 5 nginx主配置文件操作 ...
- Redis集群——利用Gearman在Lnmp架构中做MySQL的缓存服务器
一.概述 Redis的集群主要是使用切片技术来搭建的,简单来说就是把所有KEY分散存放到不同的redis节点上(不要把鸡蛋都放在一个篮子里). 1. 集群基本原理 Redis集群中内置了16384个槽 ...
- LNMP架构——OpenResty实现缓存前移(到达Nginx前端层面)
前言 我们都知道Nginx有很多的特性和好处,但是在Nginx上开发成了一个难题,Nginx模块需要用C开发,而且必须符合一系列复杂的规则,最重要的用C开发模块必须要熟悉Nginx的源代码,使得开发者 ...
- LNMP架构详解(2)——Mysql、PHP、Nginx源码编译过程
前言 本文将介绍LNMP架构中Mysql.PHP.Nginx的源码编译过程:这时有人不仅会问:在我们使用的Linux系统中,可以从yum源中获得mysql.php,为什么要进行如此漫长复杂的过程进行编 ...
最新文章
- C++11中auto的使用
- rgb颜色分量的旋转_RGB分量之偏色与彩色图片转黑白
- 工业机器人调运角度_工业机器人如何精准选型,这九大参数告诉你!
- 【贪心】奶酪厂(jzoj 1285)
- php spider shell,ScrapyShell使用
- C++中继承与虚函数示例
- 20 MM配置-BP业务伙伴-定义业务伙伴和供应商编码保持一致
- 2017年单多晶市场竞争核心分析
- dbnetlib sqlserver不存在或拒绝访问_部署IIS+PHP+SQL server环境
- Swift - 键盘弹出样式
- Struts2的标签库(二)之数据标签
- 传动系统结构简图_液压传动系统结构示意图画图技巧(攻略)
- 请仔细核对自己的信息
- 【刷题笔记】CG第二周
- java poi解析excel_Java 利用POI 解析Excel
- ECharts series动态加载 可执行方案
- 使用order by 按照指定顺序排序或自定义顺序排序
- 超详细的k8s对接ceph RBD存储
- Android H265
- 薅羊毛: 微信小程序开发者可以免费使用验证码短信服务了!
热门文章
- [常识]“侯”和“候”区别精讲 ---总是打错字 转帖
- java程序定点运行_实现跑步定点打卡
- 真正的自动剪辑神器auto-editor!Python完全免费开源,无任何功能限制!走,自媒体快速制作视频必备工具!
- PTA - 数据库合集41
- 北斗授时服务器的应用及详细介绍
- AB级 考试高频词 1000个
- web实训知识点_0312
- 游戏本连oracle,新平台游戏本接连到来,怎么选择合适的硬件配置?
- Swift基础之使用Alamofire库进行网络请求和断点下载
- Injective Protocol官方文档翻译(八) -头寸、仓位(Positions)