sunbird 发表于 2018-12-25 12:01:21

第十六周微职位: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]
查看完整版本: 第十六周微职位:Memcached,haproxy,varnish