本文已参与「新人创作礼」活动,一起开启掘金创作之路。
局部性原理
我们的存储器层次结构中各个层次的存储器之间存储容量和访问速度有很大差异,那么我们该如何使用它们,来使整个存储系统的性能达到最优,让用户的体验最佳?
答:我们可以通过局部性原理(Principle of Locality),来制定管理和访问数据的策略。局部性原理包括时间局部性和空间局部性。
时间局部性就是说,一个数据被访问了,那么它短时间内还会被访问。而空间局部性就是说,一个数据被访问了,那么和它相邻的数据也很快被访问。
利用局部性原理,我们不用把数据都放在内存或者硬盘上,而是把访问次数多的数据,放在快一点的存储器里,把访问次数少的数据,放在慢一点、大一点的存储器里。这样组合使用各层次的存储器,我们就可以优化性价比。
举个例子: 假如某电商有6亿商品,其中有600万件商品是热门商品,我们就可以把这些热门商品放到内存中,把剩下的放到硬盘中。但是如果我们在内存中的这些商品命中率不高,多数访问还是会去硬盘中,这样的话我们的局部性原理使用的就大打折扣了。