美文网首页
如何实现一个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