没有合适的资源?快使用搜索试试~ 我知道了~
memcached基础-参考
资源推荐
资源详情
资源评论
memcached/memcache 基础
1 memcached 简介
是一套数据缓存系统或软件,用于在动态系统中缓存数据库数据,减少数据库的访问压力,达到提升网站
系统性能的目的。在企业中应用场景中一般用来作为数据库的 cache 服务使用,memcached 是通过预分配
指定的内存空间来存取数据的,因此它比数据库直接操作磁盘要快的多,可以提供比直接读取数据库更好
的性能。
软件
作用
缓存的数据
Memcached,redis
后端数据库的缓存
动态的数据,如:博文、BBS 帖子
Squid,nginx,varnish
前端 web 应用的缓存
静态数据,如:图片、附件、js、css、html 等
2 Memcache 服务在企业集群架构中应用的角色
1)作为数据库的前端缓存应用。
2)session 会话共享的共享存储。
负载均衡的 lnmp 或 lamp 的 php.ini 配置文件中可配置 session_save 指向配置好的 memcached 的服务器,
这样用户登录的会话信息可以在 memcached 服务器中共享会话信息。
3 Memcached 服务在应用中的工作流程
1)客户端访问 web 服务,再由 web 服务的 php 程序需要访问后端数据库获取数据时,通过设置 php 程序让
客户端优先访问 memcached 内存缓存,如果缓存中有数据就直接返回前端 web 服务应用,如果 memcached
中没有数据,php 程序(web 服务)会访问后端的 mysql 数据库服务器,当 php 程序取得了后端 mysql 服务
器给的数据后,php 程序除了返给客户端数据外,还会把数据在 memcached 的内存中进行缓存,等待下次
被访问,从而大大的减轻了数据库的压力,提高整个
2)网站架构的相应速度,提升了用户体验。
3)当程序更新、删除数据库中已有的数据时,会同时发送请求通知 memcached 已经缓存过的同一个 ID 内容
的旧数据失效,从而保证 memcached 中的数据和数据库中的数据一致。
4)如果在高并发场合,处理通知 memcached 过期的缓存失效外,还会通过相关机制,使得在用户访问新数
据前,通过程序预先把更新过的数据推送到 memcached 中缓存起来,这样可以减少数据库的访问压力,提
升 memcached 中缓存的命中率。
4 Memcached 服务在大型站点中的应用
几乎所有的网站,当访问量增大时,在整个网站集群架构中最先出现瓶颈的一定是数据库角色的服务器及
存储角色的服务器,在工作中我们是尽量把用户的请求往前推,即当用户请求数据时,越是在靠近用户的
一端把数据返回就越好。
5 缓解数据库的高并发访问压力的方案
1)在数据库层配置数据读写分离及读数据库做负载均衡。
资源评论
运维实战帮
- 粉丝: 78
- 资源: 420
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功