Files
llink/go/internal/redis.go
Arjun Patel 563c91e7d5 infra: add logging wrapping
Resolves issues with gcp cloud logging quirks such as field names
2026-05-27 15:49:27 -07:00

49 lines
890 B
Go

package internal
import (
"context"
"fmt"
"os"
"github.com/flowy-live/llink/internal/utils/flog"
"github.com/redis/go-redis/v9"
"github.com/flowy-live/llink/internal/utils"
)
func ConnectAndTestRedis(db int) *redis.Client {
redisHost := utils.MustGetEnv("REDIS_HOST")
if redisHost == "" {
flog.Error("must provide REDIS_HOST")
os.Exit(1)
}
redisAddr := fmt.Sprintf("%s:%s", redisHost, "6379")
rdb := redis.NewClient(&redis.Options{
Addr: redisAddr,
Password: "",
DB: db,
})
err := rdb.Set(context.Background(), "key", "value", 0).Err()
if err != nil {
panic(err)
}
val, err := rdb.Get(context.Background(), "key").Result()
if err != nil {
panic(err)
}
flog.Debug("redis test", "key", val)
if val != "value" {
panic("unexpected value")
}
err = rdb.Del(context.Background(), "key").Err()
if err != nil {
panic(err)
}
return rdb
}