Files
vt/utils/cache.go
2026-01-22 17:39:04 +01:00

44 lines
1.0 KiB
Go

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
}