Files
SEEN/backend/internal/integrations/cache/dragonfly.go
T
2026-04-10 12:06:24 +02:00

30 lines
697 B
Go

package cache
import (
"context"
"fmt"
"time"
"github.com/redis/go-redis/v9"
"github.com/tdvorak/seen/backend/internal/config"
"go.uber.org/zap"
)
func NewClient(ctx context.Context, cfg config.CacheConfig, log *zap.Logger) (*redis.Client, error) {
client := redis.NewClient(&redis.Options{
Addr: cfg.Addr,
Password: cfg.Password,
DB: cfg.DB,
DialTimeout: 5 * time.Second,
ReadTimeout: 3 * time.Second,
WriteTimeout: 3 * time.Second,
})
if err := client.Ping(ctx).Err(); err != nil {
return nil, fmt.Errorf("ping dragonfly: %w", err)
}
log.Info("dragonfly connected", zap.String("addr", cfg.Addr), zap.Int("db", cfg.DB))
return client, nil
}