第十六周微职位:Memcached,haproxy,varnish
1、为LNMP架构添加memcached支持,并完成对缓存效果的测试报告;一、Memcached的简介:
Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。它是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。
Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。本质上,它是一个简洁的key-value存储系统。
一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。
特征:
1)协议简单;
2)基于libevent的事件处理;
3)内置内存存储方式;
4)memcached不互相通信的分布式。
Memcached常用选项:
-l :监听的地址
-m :缓存空间大小,单位为MB, 默认为64
-c :最大并发连接数,默认为1024
-M:缓存空间耗尽时,向请求者返回错误信息,而不是基于LRU算法进行缓存清理
-f :growth factor, 增长因子
-t :处理用于请求的线程数
二 基于LNMP架构添加Memcached支持并验证其结果
1、结构示意图:
https://s2.运维网.com/wyfs02/M02/07/EC/wKiom1nViCHCDhz6AABco8LB8fY196.png
2. 实验环境
IP 功用
192.168.237.129 nginx
192.168.237.131 php-fpm+mariadb+memcached
3. 实验步骤
Nginx, PHP-FPM和MariaDB安装在此忽略。
(1) Memcached安装
#安装Memcached
yum -y install memcached
#启动Memcached
memcached -d -m 1024 -u memcached
连接测试
telnet 192.168.237.131 11211
https://s3.运维网.com/wyfs02/M00/A6/9D/wKioL1nViDzhlqGXAAANSYQrp2Q196.png
查看Memcached信息
https://s3.运维网.com/wyfs02/M02/07/EC/wKiom1nViJbQYDKLAAA5ueWCWX8084.png
(2) 安装PHP的Memcached的扩展
php连接memcached服务的模块有两个,php-pecl-memcache和php-pecl-memcached.若要安装php-pecl-memcached需要依赖libmemcached程序包,可以提供相应操作查看memcached的工具。在这里为方便演示就直接使用php-pecl-memcache扩展模块。
#安装PHP的Memcached扩展模块
yum -y install php-pecl-memcache
测试PHP是否已支持Memcached, 浏览器中输入http://192.168.237.129/index.php
(3) 测试Memcached缓存
#在nginx根目录下写入php测试脚本
vim /usr/share/nginx/html/test.php
页:
[1]