基于LNMP架构添加Memcached支持,并验证其缓存结果

一 Memcached简介

Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。它是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。

Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。本质上,它是一个简洁的key-value存储系统。

一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。

特征:

  1. 协议简单;

  2. 基于libevent的事件处理;

  3. 内置内存存储方式;

  4. memcached不互相通信的分布式。

Memcached常用选项:

-l <ip_addr>:监听的地址
-m <num>:缓存空间大小,单位为MB, 默认为64
-c <num>:最大并发连接数,默认为1024
-M:缓存空间耗尽时,向请求者返回错误信息,而不是基于LRU算法进行缓存清理
-f <factor>:growth factor, 增长因子
-t <threads>:处理用于请求的线程数

二 基于LNMP架构添加Memcached支持并验证其结果

1. 架构示意图

1.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

2.png

查看Memcached信息

4.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.png

(3) 测试Memcached缓存

#在nginx根目录下写入php测试脚本
vim /usr/share/nginx/html/test.php
<?php
$mem = new Memcache;
$mem->connect("192.168.237.131", 11211);   #连接Memcached

$version = $mem->getVersion();
echo "Server's version: ".$version."<br/>\n";   #输出Memcached版本信息

$mem->set('testkey', 'Hello World', 0, 600);   #向Memcached存储数据'Hello World',时间为600s
echo "Store data in the cache (data will expire in 600 seconds)<br/>\n";   

$get_result = $mem->get('testkey');   #获取testkey的值
echo "$get_result is from memcached server.";
?>

测试Memcached缓存结果,在浏览器中输入192.168.237.129/test.php

5.png

可以看出缓存已生效,再查看Memcached相应信息

6.png

原创文章,作者:N25_zzc,如若转载,请注明出处:http://www.178linux.com/63428

(0)
N25_zzcN25_zzc
上一篇 2016-12-12 17:25
下一篇 2016-12-12 18:24

相关推荐

  • Linux的发展史和Linux的终端类型

    Linux的发展史和Linux的终端类型 前言:    随着时代的发展,Linux所占的市场份额越来越大,目前几乎百分之九十的服务器市场都被Linux占据。接下来我们来聊聊Linux的发展史。 简单的说:Linux操作系统是1998年的8月芬兰的一个叫Linus Torvalds的大学生写出来的一个类minix的系统。 具体分析: Lin…

    Linux干货 2016-10-17
  • Linux运维学习历程-第六天-Linux用户、组以及权限管理

    本章内容    Linux的安全模型    用户和组    用户和组管理命令    文件权限    默认权限    特殊权限    ACL访问控制 一:3A认证       &nb…

    Linux干货 2016-08-07
  • 磁盘分区管理与文件系统的创建

    磁盘分区管理与文件系统的创建   不光是linux文件系统,所有的大结构,多数据凑到一块的时候,单一的管理是没有能力处理这样庞大规模的存在的。所谓“君王不下县”也就是这个道理。要系统的,规范的管理一个国家,存在着省、市这样的层级结构。linux系统也是这样,将整个系统划分为若干个分区,实现不同功能,不同层级的规范管理,这就是创建磁盘分区的意义。既然…

    Linux干货 2016-09-01
  • 开篇

    test 新人报道

    Linux干货 2016-10-28
  • VimTutor(上)

    柚子翻译,如有理解错误或翻译错误,请指正! VimTutor Vim是一款强大的文本编辑器,拥有多命令的特性,tutor解释了其中大多数命令。 tutor是为了描述足够多的Vim命令帮助你轻松使用Vim而被制作的,使Vim能成为一个可完成你所有工作意图的编辑器。 完成tutor的内容大概需要25-30分钟,所完成时间取决于你通过时间积累的经验。 注意: 1.…

    Linux干货 2015-10-18
  • 马哥教育网络第21期-第1周课程练习

    第一周博客 1、描述计算机的组成及其功能。 计算机的组成:运算器、控制器、储存器、输入设备、输出设备 运算器+控制器 = CPU 储存器 = RAM(内存) I/O(输入/输出)设备 = 硬盘、打印机、鼠标、键盘、显示器 CUP:运算和逻辑运算 储存器:缓存和储存数据 I/O设备:计算机与用户交互的设备 2、按系列罗列Linux的发行版,并描述不同发行版之间…

    Linux干货 2016-06-26

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-16 16:30

    搭建过程能详细总结下会更好~~加油~