package redis import ( "context" "os" "time" "github.com/redis/go-redis/v9" ) func NewRedis() (*redis.Client, error) { addr := os.Getenv("REDIS_ADDR") if addr == "" { addr = "localhost:6379" } rdb := redis.NewClient(&redis.Options{ Addr: addr, }) ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) defer cancel() // cek koneksi saat startup if err := rdb.Ping(ctx).Err(); err != nil { return nil, err } return rdb, nil }