go-cache 的见解和使用步骤

6 min read

go-cache是一个轻量级的缓存库,用于在Go语言中存储和管理缓存数据。它可以轻松地将常用的数据缓存到内存中,从而提高应用程序的效率和性能。下面是一些关于go-cache的见解和使用步骤:

  1. 模块使用
go get github.com/patrickmn/go-cache 
import "github.com/patrickmn/go-cache"
  1. 初始化Cache
c := cache.New(time.Minute*10, time.Minute*5) 
// 设置过期时间和清理间隔
  1. 添加和获取数据

添加

c.Set("my-key", "my-value", cache.DefaultExpiration) 
// key-val 和过期时间, cache.DefaultExpiration=0

获取

if x, found := c.Get("my-key"); found {
    fmt.Println(x)
}
  1. 删除数据
c.Delete("my-key") 
// 会自动触发清理已过期的K-V
  1. 其他方法
// 当已存在键时,原子地替换键的值并返回旧值。
if v, ok := c.Replace("my-key", "new-value", cache.DefaultExpiration); ok {
    fmt.Println(v) 
}

// 遍历Cache中所有keys
for k := range c.Items() {
    log.Println(k)
}
  1. Notice

Go-cache是一个使用简单的缓存库,但它是不应该使用在web生产环境中的,生产环境使用redis或memcached。