替换算法的本质都是相同的,
有一个小空间,有一个大空间,替换算法的核心思路就是确定被踢出去的是谁,谁最没有价值。
在cache和其他替换算法中,最容易被踢出去的一般是不会被用到的,根据时间依赖和空间依赖确定(局部性原理)。
cache算法有以下几种:
1、随机算法,随机踢人,效率呵呵了
2、先进先出算法,把机会留给年轻人,主要是考虑的时间依赖性,也有一定的公平性,还不错
3、近期最少使用算法(LRU),选择近期内长久未访问的cache作为替换的行,平均命中率高于先进先出。