美文网首页
如何实现一个LRU

如何实现一个LRU

作者: 王小二黑 | 来源:发表于2019-08-25 12:46 被阅读0次

LRU=hashmap+double-linked list

map[key]=*listnode

save:

node,ok := map[key]
if !ok {
list.PushBack(newnode)
map[key]=*newnode
} else {
node = map[key]
node.value = newvalue
list.MoveToBack(node)
}
if len(map) > SIZE {
list.Remove(list.Front())
}

get:
node,ok := map[key]
if !ok {
return nil
}
list.MoveToBack(node)
return node

相关文章

网友评论

      本文标题:如何实现一个LRU

      本文链接:https://www.haomeiwen.com/subject/otvcectx.html