Untitled
unknown
plain_text
2 years ago
1.3 kB
8
Indexable
package main import ( "context" "log" "time" "gitlab.com/americastech/paytechinfra/core/pkg/cache" "gitlab.com/americastech/paytechinfra/core/pkg/cache/provider/redis" "gitlab.com/americastech/paytechinfra/core/pkg/logger" ) type CacheModel struct { Value string } func main() { ctx := context.Background() redis, err := redis.NewProvider(ctx, redis.WithTelemetryDisabled()) if err != nil { logger.Of(ctx).Warn(err.Error()) } cache.SetGlobal(cache.NewCache(redis)) cacheModel := CacheModel{ Value: "some-value", } cache.Instance().Set(ctx, cache.Item{ Key: "some-value", Value: cacheModel, ExpiresIn: time.Second * 10, }) i, err := cache.Instance().Get(ctx, "some-value") if err != nil { log.Fatal(err) } log.Println(i.Value) res, err := cache.NewResolver[CacheModel](ctx, cache.NewResolverConfig("some-value")) if err != nil { log.Fatalln(err) } log.Println(res.Value) options := cache.NewResolverConfig("some-value") fn := func(ctx context.Context) (CacheModel, error) { // Chamada para o banco de dados return CacheModel{}, nil } res, err = cache.NewResolverFunc(ctx, options, fn) if err != nil { log.Fatalln(err) } }
Editor is loading...