An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.
译文:Go的内存 key:value store/cache(类似于Memcached)库,适用于单机应用程序。
文档
- https://pkg.go.dev/github.com/patrickmn/go-cache
- https://github.com/patrickmn/go-cache
- https://patrickmn.com/projects/go-cache/
安装
go get github.com/patrickmn/go-cache
方法签名
func New(defaultExpiration, cleanupInterval time.Duration) *Cache func (c *cache) Set(k string, x interface{}, d time.Duration) func (c *cache) Get(k string) (interface{}, bool)
示例
package main import ( "fmt" "log" "time" "github.com/patrickmn/go-cache" ) func main() { // 设置默认过期时间10秒;清理间隔30分钟 caching := cache.New(10*time.Second, 30*time.Minute) // 设置过期时间 caching.Set("key", "value", 10*time.Second) // 获取数据 value, ok := caching.Get("key") if !ok { log.Fatal() } fmt.Printf("value: %v\n", value) // value: value }
参考