【缓存】什么是缓存
-----------------------
专题【缓存】相关文章
-----------------------
作者:LiXiang
链接:http://www.leexiang.com/cache-algorithm
缓存是“存贮数据(使用频繁的数据)的临时地方“,因为取原始数据的代价太大了,而通过缓存可以取得快一些。
缓存可以认为是数据的池,这些数据是从数据库里的真实数据复制出来的,并且为了能别取回,被标上了标签(键 ID)。
有以下几个术语需要了解:
命中
当客户发起一个请求(我们说他想要查看一个产品信息),应用接受这个请求,并且如果是在第一次检查缓存的时候,需要去数据库读取产品信息。
如果在缓存中,一个条目通过一个标记被找到了,这个条目就会被使用,称其缓存命中。所以,命中率也就不难理解了。
Cache Miss
但是这里需要注意两点:
1.如果还有缓存的空间,那么,没有命中的对象会被存储到缓存中来。
2.如果缓存满了,而又没有命中缓存,那么就会按照某一种策略,把缓存中的旧对象踢出,而把新的对象加入缓存池。而这些策略统称为替代策略(缓存算法),这些策略会决定到底应该提出哪些对象。
存储成本
当没有命中时,会从数据库取出数据,然后放入缓存。而把这个数据放入缓存所需要的时间和空间,就是存储成本。
索引成本
和存储成本相仿。
失效
当存在缓存中的数据需要更新时,就意味着缓存中的这个数据失效了。
替代策略
当缓存没有命中时,并且缓存容量已经满了,就需要在缓存中踢出一个老的条目,加入一条新的条目,而到底应该踢出什么条目,就由替代策略决定。
posted on 2016-05-30 19:39 YoungerChina 阅读(307) 评论(0) 编辑 收藏 举报