缓存算法发展至今,已有一些效果令人较为满意的成果,从一开始的包括基于访问频率的算法到基于访问时间的算法再慢慢完善,现在已有了访问时间与访问频率相结合等较为理想的算法。
基于访问频率的算法,通过在某段时间内对资源被访问的次数进行统计,以此来判断该资源接下来会不会被访问。这类算法理所当然最容易理解,因此也最容易被接受,包括LFU,以及在此基础上发展起来的 2Q(2 Queues)、LIRS等算法;基于访问时间的算法,通过记录资源访问的时间,以时间作判断依据,包括LRU算法;访问时间与访问频率相结合的算法,综合了基于访问频率和访问时间的算法,包括LRFU(Least Recently Frequently Used)、FBR(Frequently Based Replacement)等算法。
当然,CDN业务种类越来越多,比如CDN许可证代办。现实当中有各种各样的因素,这些缓存算法各自或多或少地存在一些优点和缺点,所以没有一种缓存算法能完美解决所有的缓存问题。结合实际情况,通过对已知的缓存算法进行改善,使之能切合我们的目标,才是关键所在。