标签:缓存 前端 防止 区别 读取数据 系统 取数 === 应用
1.Memcached是什么,有什么作用?
Memcached是一个开源的、高性能的内存缓存软件,从名称上看Mem就是内存的意思,而Cache就是缓存的意思。
Memcached通过在事先规划号的内存空间中临时缓存数据库中的各类数据,以达到减少业务对数据库的直接高并发访问,从而达到提升数据库的访问性能,加速网站集群动态应用服务的能力
2、Memcached服务在企业集群架构中应用场景
1)作为数据库的前端缓存应用
a.完整缓存(静态缓存):比如商品分类,商品信息,可事先放到内存里,然后再对外提供数据称为预热。用户访问就是只读memcached缓存,不读取数据库了。
b.热点缓存:需要前端程序配合,只缓存经常被访问的数据。先将数据库里的基础数据,然后在动态更新。先读取缓存,如果缓存里没有对应的数据,程序再去读取数据库,然后程序把读到的数据放到缓存。
特殊说明:
1.如果碰到电商秒杀高并发业务,一定要事先预热,或者其他思想,秒杀获取资格,而不是瞬间秒杀到商品
2.如果数据更新,同时触发缓存更新,防止给用户过期数据。
c.对于持久化缓存存储系统,比如memcached\redis,可以替代一部分数据库的存储,一些简单的数据业务,投票,统计、好友关注,商品的分类等。
2) 作为集群的session会话共享存储
3、Memcached服务在不同企业业务应用场景中的工作流程
a.当web程序需要访问后端数据库获取数据的时会优先访问Memcached内存缓存,如果缓存中有数据就直接获取,反馈给前端服务和用户,如果没有数据(没有命中),在由程序请求后端的数据库服务器,获取到对应的数据后,除了返回给前端服务和用户外,还会把数据放到Memached内存中进行缓存,等待下次请求被访问,Memcached内存始终是数据库的挡箭牌,从而大大减轻数据库访问的压力,提高整个网站架构的响应速度,提升用户体验。
b.当程序更新,修改或者删除数据库中已有的数据时,会同时发送请求通知Memcached已经缓存过的同一个ID内容的旧数据失效,从而保证Memcache中的数据和数据库中的数据一致。
如果在高并发场所,除了通知memcache过期的缓存失效外,还会通知相关机制,使得在用户访问新的数据库时,通过程序预先把跟新的数据推送到Memcached中缓存起来,这样可以减少数据库的访问压力,提升Memcached中缓存的命中率。
c.有一款数据库插件可以再写入更新数据库后,自动抛给Memcached缓存起来,自身不cache
4、Memcached服务分布式集群如何实现?
========================================
5、Memcached服务特点及工作原理是什么?
6、简述Memcached内存管理机制原理?
7、Memcached的删除原理与删除机制?
8、Memcached服务端与客户端的安装部署与使用测试
9、如何实现集群中的session共享存储?
10、如何获取MEMCACHED服务的状态信息,例如:命中率
========================================
11、通过Nagios监控Memcached需要监控哪些指标
12、redis是什么,有什么作用?
13、memcached与redis的区别?
一.Memcached企业服务
标签:缓存 前端 防止 区别 读取数据 系统 取数 === 应用
原文地址:https://www.cnblogs.com/dangjingwei/p/11625782.html