简介
goCache 是一个在 Go 语言中广泛使用的内存键值对缓存库。它提供了一个简单的 API 来存储和检索任意类型的数据,同时还支持过期时间和自动清除过期键值对的功能。以下是 goCache 的基本使用方法和一个代码示例。
安装 goCache
首先,你需要将 goCache 库添加到你的 Go 项目中。通过运行以下命令来安装:
go get github.com/patrickmn/go-cache
基本使用
- 导入库:在你的 Go 文件中导入 go-cache。
import (
"github.com/patrickmn/go-cache"
"time"
)
- 创建一个缓存实例:使用 cache.New 来创建一个新的缓存实例。你可以指定默认的过期时间和清除过期键值对的间隔时间。c := cache.New(5time.Minute, 10time.Minute)
- 添加键值对:使用 Set 方法添加新的键值对。你也可以指定一个特定的过期时间。c.Set("key1", "value1", cache.DefaultExpiration)
- 获取键值对:使用 Get 方法来获取之前存储的值。
value, found := c.Get("key1")
if found {
fmt.Println("key1:", value)
}
- 删除键值对:使用 Delete 方法来删除一个键值对。c.Delete("key1")
代码示例
下面是一个简单的示例,演示了如何在 Go 中使用 goCache:
package main
]
import (
"fmt"
"github.com/patrickmn/go-cache"
"time"
)
func main() {
// 创建一个缓存实例
c := cache.New(5*time.Minute, 10*time.Minute)
// 设置一个值
c.Set("myKey", "myValue", cache.DefaultExpiration)
// 尝试获取这个值
value, found := c.Get("myKey")
if found {
fmt.Println("myKey:", value)
} else {
fmt.Println("myKey not found")
}
// 删除一个值
c.Delete("myKey")
// 再次尝试获取这个值
value, found = c.Get("myKey")
if found {
fmt.Println("myKey:", value)
} else {
fmt.Println("myKey not found")
}
}
在这个示例中,我们首先创建了一个新的缓存实例,然后添加了一个键值对。接着我们尝试获取这个键值对,并在之后删除它。再次尝试获取这个键值对时,我们会发现它已经不存在了。
请注意,go-cache 是一个简单的内存缓存,并不适合所有用例。如果你需要持久化存储或分布式缓存,你可能需要考虑其他解决方案,如 Redis。