网站大量收购闲置独家精品文档,联系QQ:2885784924

Memcache 面试题 23道面试题.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

1.Memcached是什么,有什么作用?

Memcached是一个开源的,高性能的内存绶存软件,从名称上看Mem就是内存的意思,而Cache就是

缓存的意思。Memcached的作用:通过在事先规划好的内存空间中临时绶存数据库中的各类数据,以

达到减少业务对数据库的直接高并发访问,从而达到提升数据库的访问性能,加速网站集群动态应用服

务的能力。点

Memcached服务在企业集群架构中有哪些应用场景?

一、作为数据库的前端缓存应用:

a、完整缓存(易),静态缓存

例如:商品分类(京东),以及商品信息,可事先放在内存里,然后再对外提供数据访问,这种先放到

内存,我们称之为预热,(先把数据存缓存中),用户访问时可以只读取memcached)缓存,不读取数

据库了。

b、执点缓存(难)

需要前端web程序配合,只缓存热点的数据,即缓存经常被访问的数据。

先预热数据库里的基础数据,然后在动态更新,选读取缓存,如果缓存里没有对应的数据,程序再去读

取数据库,然后程序把读取的新数据放入缓存存储。

特殊说明:

1__、如果碰到电商秒杀等高并发的业务,一定要事先预热,或者其它思想实现,例如:称杀只是获取

资格,而不是瞬间秒杀到手商品。

那么什么是获取资格?

就是在数据库中,把0标成1.就有资格啦。再慢慢的去领取商品订单。因为秒杀过程太长会占用服务器

资源。

2、如果数据更新,同时触发缓存更新,防止给用户过期数据。

c、对于持久化缓存存储系统,例如:redis,可以替代一部分数据库的存储,一些简单的数据业务,投

票,统计,好友关注,商品分类等。nosql=notonlysql

二、作业集群的session会话共享存储。

3、Memcached服务在不同企业业务应用场景中的工作流程

a、当web程序需要访问后端数据库获取数据时会优先访问Memcached内存缓存,如果缓存中有数据就

直接获取返回前端服务及用户,如果没有数据(没有命中),在由程序请求后端的数据库服务器,获取

到对应的数据后,除了返回给前端服务及用户数据外,还会把数据放到Memcached内存中进行缓存,

等待下次请求被访问,Memcache内存始终是数据库的挡箭牌,从而大大的减轻数据库的访问压力,提

高整个网站架构的响应速度,提升了用户体验。

b、当程序更新,修改或删除数据库中已有的数据时,会同时发送请求通知Memcached已经缓存的同一

个ID内容的旧数据失效,从而保证Memcache中数据和数据库中的数据一致。

如果在高并发场合,除了通知Memcached过程的缓存失效外,还会通过相关机制,使得在用户访问新

数据前,通过程序预先把更新过的数据推送到memcache中缓存起来,这样可以减少数据库的访问压

力,提升Memcached中缓存命中率。

c、数据库插件可以再写入更新数据库后,自动抛给MC缓存起来,自身不Cache.

2.Memcached服务分布式集群如何实现?

特殊说明:Memcached集群和web服务集群是不一样的,所有Memcached的数据总和才是数据库的

数据。每台Memcached都是部分数据。

(一台memcached的数据,就是一部分mysql数据库的数据)上

a、程序端实现

文档评论(0)

707360051 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档