This provides the lrupackage which implements a fixed-size thread safe LRU cache. It is based on the cache in Groupcache.
译文:这提供了实现固定大小线程安全lru缓存的lru包。它基于Groupcache中的缓存。
LRU:Least Recently Used,最近最少使用
文档
安装
go get github.com/hashicorp/golang-lru
示例
package main import ( "fmt" lru "github.com/hashicorp/golang-lru" ) func main() { cache, _ := lru.New(128) // 添加 cache.Add("name", "Tom") cache.Add("age", 12) // 获取 name, ok := cache.Get("name") if ok { fmt.Println(name) // Tom } // 获取最老的键值 key, value, ok := cache.GetOldest() if ok { fmt.Println(key, value) // age 12 } // 移除缓存中的key cache.Remove("name") // 获取元素个数 len := cache.Len() fmt.Printf("len: %v\n", len) // len: 1 }
参考