Linux项目_Lnmp_3_memcache高速缓存技术

Linux项目_Lnmp_3_memcache高速缓存技术

一.概念介绍


1.什么是memcache?

免费和开源,高性能,分布式内存对象缓存系统,在本质上是通用的,但旨在通过减轻数据库负载加速动态Web应用程序。
Memcached是一个内存中的键值存储,用于从数据库调用、API调用或页面渲染的结果中获取任意数据(字符串、对象)的小块。
Memcached是简单而强大的。它的简单设计促进了快速部署,便于开发,并解决了大型数据缓存面临的许多问题。它的API适用于最流行的语言。

2.工作用途:

memcached 是高性能的分布式内存缓存服务器。一般的使用目的
是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态 Web 应用的速度、提高可扩展性。
常用作,缓存加速,玩内存,不能永久化存储,无关系化数据库存储
这里写图片描述

3.memcache流程:

client
    |
nginx:80
    |
fastcgi_pass
    |
php-fpm
    |
php=memcache
    |
显示

.
web服务器只能处理静态,动态页面需要应用层软件处理

4.分布式构造:

memcached 不互相通信的分布式。
memcached 尽管是“分布式”缓存服务器,但服务器端并没有分布式功能。各个 memcached 不会互相通信以共享信息。那么,怎样进行分布式呢?这完全取决于客户端的实现。
这里写图片描述

下面假设 memcached 服务器有 node1~node3 三台,应用程序要保存键名为“tokyo”、“kanagawa”、“chiba”、“saitama”、“gunma”的数据。
这里写图片描述

首先向 memcached 中添加“tokyo”。将“tokyo”传给客户端程序库后,客户端实现的算法就会根据“键”来决定保存数据的 memcached 服务器。服务器选定后,即命令它保存“tokyo”及其值。
这里写图片描述

同样,“kanagawa”、“chiba”、“saitama”、“gunma”都是先选择服务器再保存。接下来获取保存的数据。获取时也要将要获取的键“tokyo”传递给函数库。函数库通过与数据保存时相同的算法,根据“键”选择服务器。使用的算法相同,就能选中与保存时相同的服务器,然后发送 get 命令。只要数据没有因为某些原因被删除,就能获得保存的值。
这里写图片描述

这样,将不同的键保存到不同的服务器上,就实现了 memcached 的分布式。memcached 服务器增多
后,键就会分散,即使一台 memcached 服务器发生故障无法连接,也不会影响其他的缓存,系统依
然能继续运行。

二.memcache的部署


1.配置环境

操作系统:RHEL6.5
VM1:server8 - - - - 172.25.0.8
VM2:server9 - - - - 172.25.0.9

2.加载php的tab命令

cd /usr/local/lnmp/php/bin/
查看当前位置
pwd
没有把bin下的命令加入到环境变量设置文件中,系统默认不识别
这里写图片描述

设置环境变量:
vim ~/.bash_profile
这里写图片描述

source ~/.bash_profile 执行环境变量文件
此时bin下的命令可以通过tab补充
php -m 查看php的加载项
这里写图片描述

3.解压安装memcache

cd /mnt/
tar zxf memcache-2.2.5.tgz
cd memcache-2.2.5
加载php预编译环境,php官方生成configure的工具:
phpize
./configure
make
make install
安装到了php目录中的:
/usr/local/lnmp/php/lib/php/extensions/no-debug-non-zts-20131226/
这里写图片描述

4.加入memcache加载模块项

cd /usr/local/lnmp/php/lib/php/extensions/no-debug-non-zts-20131226/
cd /usr/local/lnmp/php/etc/
vim php.ini
这里写图片描述

/etc/init.d/php-fpm reload 重启动
php -m | grep memcache 查看模块

5.安装memcached服务:

yum install -y memcached.x86_64
/etc/init.d/memcached start
netstat -antlp 查看端口
这里写图片描述

yum install -y telnet.x86_64
telnet localhost 11211
访问本地,功能试验:
这里写图片描述

cd /mnt/memcache-2.2.5
cp memcache.php example.php /usr/local/lnmp/nginx/html/
cd /usr/local/lnmp/nginx/html/
vim memcache.php
这里写图片描述

6.检测

浏览器访问172.25.36.6/memcache.php进入监控页面

这里写图片描述

默认的账户和密码在配置文件中:
这里写图片描述

浏览器访问172.25.36.6/example.php进入测试界面,一直刷新,查看主页信息:
这里写图片描述


参考文献:

memcache官方文献:http://memcached.org/
memcached全面剖析.pdf,长野雅广、前坂徹著,charlee 译,版本 1.0

猜你喜欢

转载自blog.csdn.net/zwhzwh0228/article/details/80256889