/* * Copyright 2020 The Dragonfly Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package database import ( "context" "fmt" "github.com/go-redis/redis/v8" "d7y.io/dragonfly/v2/manager/config" ) func NewRedis(cfg *config.RedisConfig) (*redis.Client, error) { redis.SetLogger(&redisLogger{}) client := redis.NewClient(&redis.Options{ Addr: fmt.Sprintf("%s:%d", cfg.Host, cfg.Port), Password: cfg.Password, DB: cfg.CacheDB, }) if err := client.Ping(context.Background()).Err(); err != nil { return nil, err } return client, nil }