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  }