package utils // Keep (used in cmd/api/main.go) // Cache utilities for Valkey Glide import ( "context" "log/slog" "os" "strconv" glide "github.com/valkey-io/valkey-glide/go/v2" "github.com/valkey-io/valkey-glide/go/v2/config" ) func NewCache(logger *slog.Logger) *glide.Client { user := os.Getenv("VALKEY_USER") pass := os.Getenv("VALKEY_PASS") host := os.Getenv("VALKEY_HOST") port := os.Getenv("VALKEY_PORT") p, err := strconv.Atoi(port) if err != nil { logger.Error("VALKEY_PORT is not a number", "error", err, "port", port) panic(err) } config := config.NewClientConfiguration().WithAddress(&config.NodeAddress{Host: host, Port: p}).WithCredentials(config.NewServerCredentials(user, pass)) client, err := glide.NewClient(config) if err != nil { logger.Error("There was an error in glide.NewClient!", "err", err) panic(err) } _, err = client.Ping(context.Background()) if err != nil { logger.Error("There was an error pinging the client initially!", "err", err) panic(err) } return client }