如何详细解析JavaScript中实现LRU缓存的三大方法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2439个文字,预计阅读时间需要10分钟。
目录分析使用Map实现LRU缓存使用Object+Array实现LRU缓存使用双向链表实现LRU总结LRU全称针对LRU全称Least Recently Used,即最近最少使用。在有限的内存空间内,只保留最近最少使用的数据,当需要访问的数据不在缓存中时,则释放最近最少使用的数据。
针对在有限的内存空间内,只缓存最近最少使用的数据,以优化内存使用效率。
目录
- 分析
- 使用Map实现LRU缓存
- 使用Object + Array实现LRU缓存
- 使用双向链表实现LRU
- 总结
LRU全称为Least Recently Used,即最近使用的。针对的是在有限的内存空间内,只缓存最近使用的数据(即get和set的数据),超过有限内存空间的数据将会被删除。这个在面试题中也是常会被问到的内容,接下来就看看怎么来实现。
分析
从定义来看,LRU至少有两个特性:通过键值对读写、有序。实现键值对读写,一般我们会使用哈希表来表示,注意哈希表是一个逻辑结构,实际上我们需要使用object、map等来实现;数据有序,即最近使用的数据放在前面,已经过时的数据放在后面或被删除,并且支持数据是可排序的,我们可以想到数组、链表、map之类的数据格式。
本文共计2439个文字,预计阅读时间需要10分钟。
目录分析使用Map实现LRU缓存使用Object+Array实现LRU缓存使用双向链表实现LRU总结LRU全称针对LRU全称Least Recently Used,即最近最少使用。在有限的内存空间内,只保留最近最少使用的数据,当需要访问的数据不在缓存中时,则释放最近最少使用的数据。
针对在有限的内存空间内,只缓存最近最少使用的数据,以优化内存使用效率。
目录
- 分析
- 使用Map实现LRU缓存
- 使用Object + Array实现LRU缓存
- 使用双向链表实现LRU
- 总结
LRU全称为Least Recently Used,即最近使用的。针对的是在有限的内存空间内,只缓存最近使用的数据(即get和set的数据),超过有限内存空间的数据将会被删除。这个在面试题中也是常会被问到的内容,接下来就看看怎么来实现。
分析
从定义来看,LRU至少有两个特性:通过键值对读写、有序。实现键值对读写,一般我们会使用哈希表来表示,注意哈希表是一个逻辑结构,实际上我们需要使用object、map等来实现;数据有序,即最近使用的数据放在前面,已经过时的数据放在后面或被删除,并且支持数据是可排序的,我们可以想到数组、链表、map之类的数据格式。

