个人认为链表是常用的基础数据结构之一。
李柱明博客:https://www.cnblogs.com/lizhuming/p/15487315.html
缓存是一种提高数据读取性能的技术,在硬件设计、软件开发中都有着非常广泛的应用,比如常见的 CPU 缓存、数据库缓存、浏览器缓存等等。
当缓存满时也有对应策略处理:
相对于数组,链表的存储空间是非连续的,靠的是指针把各个数据连接起来。
链表的结构多种多样:
根据链表的数据结构,也可以分为通用链表和非通用链表。
参考:
最近最少使用策略 LRU(Least Recently Used)。
数据管理思路:
主要思路:把当前使用的节点放到链表头。具体思路如下:
维护一个有序单链表,越靠近链表尾部的结点是越早之前访问的。
当有一个新的数据被访问时,我们从链表头开始顺序遍历链表。
如果此数据之前已经被缓存在链表中了,遍历到这个数据对应的结点,将其从原来的位置删除,然后再插入到链表的头部。
如果此数据没有在缓存链表中: