关于缓存的一些面试题和概念理解题

匿名网友 匿名网友 发布于: 2015-08-30 00:00:00
阅读 106 收藏 0 点赞 0 评论 0

什么是缓存?

缓存是”存贮数据(使用频繁的数据)的临时地方,因为取原始数据的需要消耗的资源较大,且性能较低,使用缓存可以快速的时间数据的读取。”
缓存可以认为是数据的池,这些数据是从数据库里的真实数据复制出来的,并且为了能别取回,被标上了标签(键 ID)。

缓存中什么是命中?

当一个数据读取请求在缓存中获取,而不是通过原始数据获取,则为命中。

 

什么是Cache Miss?

 

1. 如果还有缓存的空间,那么,没有命中的对象会被存储到缓存中来。

2. 如果缓存慢了,而又没有命中缓存,那么就会按照某一种策略,把缓存中的旧对象踢出,而把新的对象加入缓存池。而这些策略统称为替代策略(缓存算法),这些策略会决定到底应该提出哪些对象。

 

存储成本:

当没有命中时,我们会从数据库取出数据,然后放入缓存。而把这个数据放入缓存所需要的时间和空间,就是存储成本。

 

索引成本:

和存储成本相仿。

 

失效:

当存在缓存中的数据需要更新时,就意味着缓存中的这个数据失效了。

 

替代策略:

当缓存没有命中时,并且缓存容量已经满了,就需要在缓存中踢出一个老的条目,加入一条新的条目,而到底应该踢出什么条目,就由替代策略决定。

 

最优替代策略:

最优的替代策略就是想把缓存中最没用的条目给踢出去,但是未来是不能够被预知的,所以这种策略是不可能实现的。但是有很多策略,都是朝着这个目前去努力。

评论列表
文章目录