分布式缓存 – lru算法实现

【golang】分布式缓存 - lru算法实现

前言

  最近复习操作系统,看到了lru算法,就去网上搜索下,因此发现了GeeCache,顺手写了一遍。研究下lru算法的实现。

正文:

  lru使用map+链表实现。map里面存储了key以及其对应的链表节点。当我们根据某个key访问缓存值的时候,可以经过map快速定位到该链表节点。从而获取值

下面我们来看下它的具体实现:

首先,我们可以考虑下lru的结构:

  1.map

  2.链表

  3.占用的内存大小

  4.最大内存

type Cache struct {
	maxBytes  int64
	nbytes    int64
	ll     *list.List
	cache  map[string]*list.Element
}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 分布式缓存 – lru算法实现