1import (
2 "github.com/go-zeus/zeus/cache"
3 "github.com/go-zeus/zeus/cache/memory"
4)
5
6c := memory.New(
7 memory.WithTracer(tracer),
8 memory.WithMeter(meter),
9 memory.WithName("user-cache"),
10 memory.WithCleanupInterval(time.Minute), // 默认 60s
11)
12defer c.Close()
13
14_ = c.Set(ctx, "user:1", user, cache.WithTTL(5*time.Minute))
15v, ok := c.Get(ctx, "user:1") // (user, true) 或 (nil, false)
16_ = c.Delete(ctx, "user:1")
1import (
2 "github.com/redis/go-redis/v9"
3 "github.com/go-zeus/zeus/cache"
4 redis "github.com/go-zeus/zeus/plugins/cache/redis"
5)
6
7cli := redis.NewClient(&redis.Options{Addr: "127.0.0.1:6379"})
8c := redis.New(cli, redis.WithTracer(tracer), redis.WithMeter(meter))
9defer c.Close() // 关闭 client(WithManagedClient(false) 可保留共享 client)
10
11// 复杂类型需自行序列化
12payload, _ := json.Marshal(user)
13_ = c.Set(ctx, "user:1", payload, cache.WithTTL(5*time.Minute))