go-cache是一个轻量级的缓存库,用于在Go语言中存储和管理缓存数据。它可以轻松地将常用的数据缓存到内存中,从而提高应用程序的效率和性能。下面是一些关于go-cache的见解和使用步骤:
- 模块使用
go get github.com/patrickmn/go-cache
import "github.com/patrickmn/go-cache"
- 初始化Cache
c := cache.New(time.Minute*10, time.Minute*5)
// 设置过期时间和清理间隔
- 添加和获取数据
添加
c.Set("my-key", "my-value", cache.DefaultExpiration)
// key-val 和过期时间, cache.DefaultExpiration=0
获取
if x, found := c.Get("my-key"); found {
fmt.Println(x)
}
- 删除数据
c.Delete("my-key")
// 会自动触发清理已过期的K-V
- 其他方法
// 当已存在键时,原子地替换键的值并返回旧值。
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)
}
- Notice
Go-cache是一个使用简单的缓存库,但它是不应该使用在web生产环境中的,生产环境使用redis或memcached。