• 【缓存】什么是缓存


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

    专题【缓存】相关文章


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

    作者:LiXiang

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


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

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


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

    命中

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

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

    Cache Miss

           但是这里需要注意两点:

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

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

    存储成本

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

    索引成本

           和存储成本相仿。

    失效

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

    替代策略

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


  • 相关阅读:
    BZOJ 4033: [HAOI2015]树上染色 (树形DP)
    BZOJ 1820: [JSOI2010]Express Service 快递服务 DP
    BZOJ 4664: Count 插块DP
    BZOJ 1899: [Zjoi2004]Lunch 午餐 DP
    BZOJ 4559 [JLoi2016]成绩比较 (DP+拉格朗日插值)
    BZOJ1485 [HNOI2009] 有趣的数列 (卡特兰数)
    BZOJ 2111 / Luogu P2606 [ZJOI2010]排列计数
    20190915模拟赛
    深海机器人问题
    太空飞行计划问题
  • 原文地址:https://www.cnblogs.com/youngerchina/p/5624445.html
Copyright © 2020-2023  润新知