一.php+memcache的部署
memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用来减轻数据库负载。它通过在内存中缓存数据去减少读取数据库的次数,从而提高动态网站的访问速度。目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分明显。Memcache通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括视频,文件以及数据库检索的结果等,将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。memcached是一种无阻塞的socket通信方式服务,基于libevent库,由于无阻塞通信,对内存读写速度非常之快。
memcache缓存 基于mysql数据库下的缓存空间 从mysql数据库中缓存的对象到memcache缓存空间中 第一次从mysql数据库中提取对象,第二次则从memcache缓存中拿对象
环境位于nginx+php下 php访问数据库 访问memcache
1.memcache的安装部署
解压
(1)把php的命令路径添加到环境变量的配置文件中
(2)创建在php中memcache的预编译环境
(3)源码包的编译安装(memcache的源码包:memcache-2.2.5.tgz )
(4)在php的配置文件中添加memcache.so的模块
(5)memcache由socket进行通信,memcached提供后台服务(端口11211)
/etc/init.d/memcached start ##开启memcached服务
概要介绍
在正确安装、启动Memcache服务后,接下来应该为需要使用Memcache服务的应用系统下载相应开发语言的客户端程序包(如Java版客户端,PHP的memcache扩展等),但这里我想先为各位介绍一下Memcache Telnet的基本操作,暂时能想到的原因如下:
1、Telnet是最方便的客户端访问工具,Linux自带或非常容易安装。
2、能够最方便、最直接的了解Memcache功能的基本使用,比如set,get命令的使用。
3、在应用系统运维期间,对Memcache的部分操作可以在Telnet中完成,如清空缓存,查看数据确认应用系统是否正常使用Memcache服务等。
2,查看测试命中率
(1)源码包提供了测试页面,复制到nginx的发布目录下
(2)memcache的可视化页面
vim memcache.php ##memcache可视化页面的配置文件
memcache有用户名和密码的设定,更安全,可以直观的查看缓存命中情况
不断刷新memcache的测试页面example.php
memcache的缓存命中率在上升
二.nginx+memcache的部署、
客户端访问的请求,不通过php的传接,直接访问memcache:11211,速度会更快
OpenResty: 是一个基于nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。通过汇聚各种设计精良的 nginx 模块,从而将nginx有效地变成一个强大的通用 Web 应用平台。这样,Web 开发人员和系统工程师可以使用 Lua 脚本语言调动nginx支持的各种 C 以及 Lua模块,快速构造出足以胜任 10K 乃至 1000K 以上单机并发连接的高性能 Web 应用系统。目标是让你的Web服务直接跑在nginx服务内部,充分利用 nginx的非阻塞 I/O 模型,不仅仅对 HTTP 客户端请求,甚至于对远程后端诸如 MySQL、PostgreSQL、Memcached 以及 Redis 等都进行一致的高性能响应
1,openresty的源码编译安装
停掉nginx服务
解压
/usr/local/openresty/nginx/html/
cp /usr/local/lnmp/nginx/html/index.php .
cp /usr/local/lnmp/nginx/html/example.php .
/usr/local/openresty/nginx/html/conf/
vim nginx.conf
编辑完启动
2.在物理机上进行压力测试
memcache的测试页面走的memcache,比较快