Open utterances-bot opened 2 years ago
5.2 缓存淘汰算法 本书讨论的缓存,是指存放在内存的。那么容量一般是有限的,因为内存是有限的。因此,当缓存容量超过一定限制时,应该移除一条或多条数据。那应该移除谁呢?答案是尽可能移除“无用”数据。那怎么判断数据是否“无用”?这就涉及到缓存淘汰算法。 常用的缓存淘汰算法有: FIFO(先进先出) LFU(最少使用) LRU(最近最少使用) 本节讲解具体算法实现时,我们不考虑并发(即单 g
https://golang2.eddycjy.com/posts/ch5/02-evict/
一个小的错误 LFU UnitTest TestOnEvicted 中 声明新的LFU Cache时 maxBytes 应该传入16,才能保证cache中最多只持有两个int类型的记录。
书籍上的代码已经改过来了,这里好像没有同步更新
缓存淘汰算法 | Go 语言编程之旅
5.2 缓存淘汰算法 本书讨论的缓存,是指存放在内存的。那么容量一般是有限的,因为内存是有限的。因此,当缓存容量超过一定限制时,应该移除一条或多条数据。那应该移除谁呢?答案是尽可能移除“无用”数据。那怎么判断数据是否“无用”?这就涉及到缓存淘汰算法。 常用的缓存淘汰算法有: FIFO(先进先出) LFU(最少使用) LRU(最近最少使用) 本节讲解具体算法实现时,我们不考虑并发(即单 g
https://golang2.eddycjy.com/posts/ch5/02-evict/