2025-10-15 10:43:58 -04:00

31 lines
544 B
Go

package config
import (
"context"
"fmt"
"log"
"time"
"github.com/redis/go-redis/v9"
)
func GetRedisClient(cfg *Config) *redis.Client {
addr := fmt.Sprintf("%s:%d", cfg.RedisHost, cfg.RedisPort)
client := redis.NewClient(&redis.Options{
Addr: addr,
Password: cfg.RedisPassword,
DB: cfg.RedisDB,
})
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()
_, err := client.Ping(ctx).Result()
if err != nil {
log.Fatalf("❌ Redis connection failed: %v", err)
}
return client
}