package
0.0.0-20240420115250-b7f594411e29
Repository: https://github.com/colinrs/pkgx.git
Documentation: pkg.go.dev
# Packages
No description provided by the author
# README
cache
package main
import (
"context"
"time"
"github.com/colinrs/pkgx/cache"
"github.com/colinrs/pkgx/logger"
)
type Student struct {
Name string `json:"name"`
Age int `json:"age"`
}
func main(){
// 配置
conf := &cache.RedisConfig{
Addr: "127.0.0.1:6379",
DB: 0,
PoolSize: 100,
IdleTimeout: 3600,
Prefix: "test",
LocalCacheSize: 1,
}
// 缓存实例
redisCache := cache.InitCacheClient(conf)
ctx := context.Background()
var err error
// 设置缓存+过期时间
err = redisCache.Set(ctx, "key1", "val1", 100*time.Second)
if err!=nil{
logger.Error("set cache err:%s", err.Error())
}
var result []byte
// 获取缓存,从原始数据获取设为nil
result,err = redisCache.Get(ctx, "key1", nil)
if err!=nil{
logger.Error("get cache err:%s", err.Error())
}
if result!=nil{
logger.Info("getResult:%s", result)
}
s := Student{
Name: "s1",
Age: 22,
}
err = redisCache.Set(ctx, "s1", s, 100*time.Second)
if err!=nil{
logger.Error("set cache err:%s", err.Error())
}
result,err = redisCache.Get(ctx, "s1", nil)
if err!=nil{
logger.Error("get cache err:%s", err.Error())
}
if result!=nil{
logger.Info("getResult s1:%s", result)
}
result,err = redisCache.Get(ctx, "s1", nil)
if err!=nil{
logger.Error("get cache err:%s", err.Error())
}
if result!=nil{
logger.Info("getResult s1:%s", result)
}
time.Sleep(10000*time.Second)
}