- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何利用缓存理论来分析网购物流的未来
如何利用缓存理论来分析网购物流的未来
计算机技术的进步颠覆了整个世界 而其中的很多技术不仅能解决计算机方面的问题 对很
多其他方面的问题也很有启发。今天笔者给大家介绍缓存理论 从缓存理论的角度来看待一
些产品及生活上的问题 将会有许多有趣的结果 这就是今天的主题缓存理论+。笔者在此
保证 本文没有门槛 但需要耐心。
理论
如果这节看不太明白不用纠结 结合后面的例子会容易得多。
众所周知 内存和硬盘是电脑的两个重要部件 虽说两者都是用来存储数据的 特性却大相径庭 :
内存访问速度快 容量小 断电后无法保存数据 在计算机中充当缓存的角色。
硬盘访问速度慢 容量大 断电后数据不丢失 用于长久地保持数据。
CPU是个急性子 每秒几百亿次计算不在话下 自然爱和内存打交道 不待见硬盘 不待见到什么
程度呢 即使CPU要读取硬盘里的数据 也先让硬盘把数据交给内存 CPU再从内存读 缓存往往
就是指这样快却容量小的中间存储。
问题来了 内存容量小 而计算机可能会使用的数据却很大 导致内存装不下 只能把装不下数据
搁硬盘里 要使用硬盘中的数据 得先让内存清出一些暂时不用的数据 再从硬盘里把所需数据加
载到内存 这种倒腾的过程叫做置换Swap 而清出数据的操作称为淘汰数据。从硬盘读数据就耗
时了 所以我们希望我们每次取数据时数据都在内存里 减少硬盘的访问。
操作系统有一个很重要的任务——调整内存中的数据 目的在于减少用户使用电脑时因读取硬盘而
造成的延迟和卡顿。调整一般发生两种情况下 一个是电脑闲置的时候 提前将用户可能会用到数
据搬到内存中 ;另一个就是置换的时候 加载用户所需数据的同时 舍弃那些比较不可能被访问的
数据。
计算机科学里把访问数据时数据刚好在内存里的概率成为命中率。为了提升用户体验 减少等待
就得提高命中率 选择合适的内存置换 (淘汰 )算法就显得至关重要 内存置换算法是指在发生置
换操作时 应该淘汰内存中的哪些数据 来放置新的数据 常用的算 (别怕 ,都很简单 )有 :
1、先进先出算 (FIFO ,First In First O ut )
淘汰最先进来的数据 这个算法非常简单 这样做的道理是最先进来的数据可能已经用过了 过
时了。对于一次性或短期使用的数据 非常合适 但对于长期使用的数据 就不合适了。这个算法
命中率并不高 常常被提起主要是用来衬托其他算法的优越性 有点类似奥特曼的小怪兽。
2、最久没访问算 (LRU ,Least Rescent ly Used)
淘汰内存中最久没有被用到的数据 这个就比FIFO合理多了 最久没被访问 可能真的是过时了。
从逻辑上来说是相对合理的 而且比较简单 现在流行的操作系统大多都使用它或它的变种。当然
这个算法对于那种需要被周期性访问的数据就不合适了。
3、最不频繁算 (LFU ,Least Frequency Used)
淘汰内存中在最近一段时间内使用频率最低的数据 这个又比LRU更合理了 就是保留最近最常用
的数据 剔除最不常用的蛀虫。它并不是操作系统的宠儿 因为它计算量比较大 自身会消耗一些
内存 对于操作系统这样的惜时 (内存 )如金的家伙是不可接受的。
4、智能算 (A I )
我定义的一类算法 它泛指通过机器学习算法依据各种历史数据 计算各个数据未来一小段时间内
将会被访问的概率 保留概率高的 淘汰低的。举个例子 假设你白天使用电脑工作 晚上使用电
脑娱乐 那么A I算法可能会在白天尽量在内存中保留工作相关的数据。
比如一些wo rd文档及办公软件的数据 而到了晚上 工作相关的数据则优先被淘汰 内存中常驻
游戏 影音之类的数据。再比如 操作系统检测到了我刚刚下载了一部电影 那么这时应该将这部
电影的数据及播放器的数据加载到内存中 其他类型的则可能被淘汰。A I算法的计算量显然很大也
很复杂 入不了操作系统的法眼 但在很多情况下却非常好用。
再介绍一个概念 :多级缓存 后面将会用到。
其实在电脑中 内存并不是读取速度最快的存储介质 还有更快的 叫CPU缓存。如果你看CPU的
参数 经常能看到 (L /L2/L3缓存 他们共同组成CPU缓存 ) 它是CPU的一部分 你们在看CPU
规格时常常会看到 它离CPU计算核心更近 访问速度更快 但容量更小。CPU缓存和内存的关系
与 内存和硬盘的关系是一毛一样的。其实CPU缓存中还能细分 “ L 缓存 ”是“ L2缓存 ”的缓存 “L2
缓存”是“L3缓存”的缓存 “L3缓存”是内存的缓存 如下图所示 这样不断嵌套的缓存结构就
文档评论(0)