github.com/gogf/gf@v1.16.9/.example/os/gcache/usage_lru.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "time" 6 7 "github.com/gogf/gf/os/gcache" 8 ) 9 10 func main() { 11 // 设置LRU淘汰数量 12 c := gcache.New(2) 13 14 // 添加10个元素,不过期 15 for i := 0; i < 10; i++ { 16 c.Set(i, i, 0) 17 } 18 fmt.Println(c.Size()) 19 fmt.Println(c.Keys()) 20 21 // 读取键名1,保证该键名是优先保留 22 fmt.Println(c.Get(1)) 23 24 // 等待一定时间后(默认1秒检查一次),元素会被按照从旧到新的顺序进行淘汰 25 time.Sleep(2 * time.Second) 26 fmt.Println(c.Size()) 27 fmt.Println(c.Keys()) 28 }