缓存
提升数据访问性能,数据备份在内存中,一般支持2种操作:
- 将数据存到缓存的操作
put(key,value)
- 获取缓存中数据的操作
get(key)
数据淘汰机制
假设我们有一个缓存,容量为3,接下来我们根据不同的数据淘汰机制做分析:
淘汰最先放入缓存的数据 FIFO(first in first out)
依次将数据k1,k2,k3存入cache中,当我们继续put(k4,v4)时,缓存是满的,这个时候就需要将缓存中的数据进行淘汰,
根据FIFIO机制,将最先入队的数据从缓存中移除掉,最后将k4存储到缓存中。
可以使用队列来实现
淘汰最久没有使用(put || get)的数据 LRU(least recently used)
无论是put还是get都表示对数据的使用。
依次将数据k1,k2,k3存入cache中,当我们继续put(k4,v4)时,缓存是满的,这个时候就需要将缓存中的数据进行淘汰,
根据LRU机制,需要将最久没有使用过的数据从缓存中移除。
那么按照先后,我们最先put的数据是k1,是最长时间没有被用到的数据了&#