一 Memcached简介
Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。它是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。
Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。本质上,它是一个简洁的key-value存储系统。
一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。
特征:
-
协议简单;
-
基于libevent的事件处理;
-
内置内存存储方式;
-
memcached不互相通信的分布式。
Memcached常用选项:
-l <ip_addr>:监听的地址 -m <num>:缓存空间大小,单位为MB, 默认为64 -c <num>:最大并发连接数,默认为1024 -M:缓存空间耗尽时,向请求者返回错误信息,而不是基于LRU算法进行缓存清理 -f <factor>:growth factor, 增长因子 -t <threads>:处理用于请求的线程数
二 基于LNMP架构添加Memcached支持并验证其结果
1. 架构示意图
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
查看Memcached信息
(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 <?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
可以看出缓存已生效,再查看Memcached相应信息
原创文章,作者:N25_zzc,如若转载,请注明出处:http://www.178linux.com/63428
评论列表(1条)
搭建过程能详细总结下会更好~~加油~