package redisdb import ( "context" "fmt" "github.com/redis/go-redis/v9" ) type Client struct { rdb *redis.Client } func Connect(ctx context.Context, url string) (*Client, error) { opts, err := redis.ParseURL(url) if err != nil { return nil, fmt.Errorf("parse redis url: %w", err) } rdb := redis.NewClient(opts) if err := rdb.Ping(ctx).Err(); err != nil { return nil, fmt.Errorf("ping redis: %w", err) } return &Client{rdb: rdb}, nil } func (c *Client) RDB() *redis.Client { return c.rdb }