设为首页 收藏本站
查看: 1416|回复: 0

[经验分享] nginx+php+memcached-11223559

[复制链接]
YunVN网友  发表于 2018-11-8 11:03:30 |阅读模式
一 memcached :
1 memcached介绍:
  Memcached 是一个开源的、支持高性能、高并发的分布式内存缓存系统。由C语言编写,总共2000多行代码  mem(内存)Cache(缓存)d(守护进程)
  Memcached 服务分为服务端和客户端两部分,其中服务端的名字是memcached
  客户端的名字 memcache
  Memcached 软件诞生于2003年,最初由livejournal的brad fitzpatrick 开发协议简单,部署方便
  memcached的作用
  传统场景,多数web应用都将数据保存到关系型数据库中,web服务器从中读取数据并在浏览器中显示,但是随着数据量的增大吗,访问集中,关系型数据库的负担就会出现加重、相应缓慢、导致网站打开延迟等问题,影响用户一体验。
  使用memcached的主要目的是,通过在自身内存中的缓存关系型数据库的查询结果,减少数据库自身被访问的次数,以提高动态web应用的速度,提高网站架构的并发能力和可扩展性
  web读数据
  1 读取memcached的数据,如果存在,则显示结果
  2 如果memcached没有数据,程序会直接读取数据库的数据,数据库返回结果,程序将返回的结果存入memcached缓存中
2 Memcached 的特性
  1 协议简单:采用文本行的协议,能通过telent/nc等命令直接操作memcached服务存储数据
  2 支持epoll/kqueue 异步I/O模型,使用libevent作为时间处理通知机制,
  Libevent 会将事封装成接口,提供给memcached使用
  NGINX也支持这种模型
  3 key/value 键值数据类型(哈希表)
  4 全内存缓存,效率高
  当内存中数据容量那个达到服务器启动时设定的内存值,就会自动使用LRU算法删除过期的缓存数据,也可以在存放数据时对存储的数据设置过期时间,这样过期后数据就会自动被清除,memcached服务本身不会监控数据过期,而是在访问key的时候的时间戳判断是否过期
  5 可支持分布式集群
  memcached没有向mysql那样的主从同步方式,分布式memcached 集群的不同服务器之间是互不通信的,每一个节点都是独立存取数据,并且数据内容也应该是不一样的,通过对web应用端的程序设计或者通过支持hash算法的负载均衡软件,可以让memcached支持大规模海量分布式存储集群应用。
二  nginx+memcached+PHP(此处memcached是PHP的缓存)
  软件包:
  链接:https://pan.baidu.com/s/1KgJv-ptqWDatcI1pGSIStQ
  密码:ia59
  PHP 配置见:http://blog.51cto.com/11233559/2110593
1 修改环境变量使其可以支持phpize
DSC0000.jpg

DSC0001.jpg

  刷新
DSC0002.jpg

2 安装memcache
DSC0003.jpg

1 解压
DSC0004.jpg

2 使用phpzie
DSC0005.jpg

3 进行configure
DSC0006.jpg

4 编译和安装
DSC0007.jpg

5  加载相应的memcache 模块到php中
DSC0008.jpg

DSC0009.jpg

DSC00010.jpg

DSC00011.jpg

6 在php中memcache没有启动的情况下进行访问
DSC00012.jpg

7 复制memcache 相关的数据包
DSC00013.jpg

DSC00014.jpg

8 修改管理用户和链接的主机
DSC00015.jpg

DSC00016.jpg

9 重启php使其加载memcache动态模块
DSC00017.jpg

10 进行访问,查看上述配置是否正确
DSC00018.jpg

11 目前没有访问情况下的占比
DSC00019.jpg

3安装memecached 服务器
1 安装
DSC00020.jpg

2 启动并查看其监控的端口  11211
DSC00021.jpg

4 在客户端进行压力测试
DSC00022.jpg

  服务端查看缓存情况
DSC00023.jpg

二 nginx+memcached+PHP (此处memcached是nginx 的缓存)
  此时需要有支持memcache模块的nginx 二次开发包
  下载此开发包
1 关闭原来的nginx
DSC00024.jpg

2 下载openresty 和 nginx-sticky-module-ng.tar.gz包
  解压
DSC00025.jpg

DSC00026.jpg

  指定其路径和增加的模块
DSC00027.jpg

  编译和安装
DSC00028.jpg

DSC00029.jpg

3 基本优化
DSC00030.jpg

DSC00031.jpg

4 配置memcahe支持模块
DSC00032.jpg

DSC00033.jpg

DSC00034.jpg

  重启服务
DSC00035.jpg

  进行压力测试
DSC00036.jpg



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-632334-1-1.html 上篇帖子: Nginx 的location配置详解 下篇帖子: FTP+Nginx图片服务器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表