【缓存】什么是缓存

-----------------------

专题【缓存】相关文章


-----------------------

作者:LiXiang

链接:http://www.leexiang.com/cache-algorithm


  缓存是“存贮数据(使用频繁的数据)的临时地方“,因为取原始数据的代价太大了,而通过缓存可以取得快一些。

缓存可以认为是数据的池,这些数据是从数据库里的真实数据复制出来的,并且为了能别取回,被标上了标签(键 ID)。


       有以下几个术语需要了解:

命中

       当客户发起一个请求(我们说他想要查看一个产品信息),应用接受这个请求,并且如果是在第一次检查缓存的时候,需要去数据库读取产品信息。

       如果在缓存中,一个条目通过一个标记被找到了,这个条目就会被使用,称其缓存命中。所以,命中率也就不难理解了。

Cache Miss

       但是这里需要注意两点:

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

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

存储成本

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

索引成本

       和存储成本相仿。

失效

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

替代策略

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


原文地址:https://www.cnblogs.com/youngerchina/p/5624445.html