30 lines
741 B
Go
30 lines
741 B
Go
package redis
|
|
|
|
import (
|
|
"ai-gateway/common/config"
|
|
"context"
|
|
"errors"
|
|
"github.com/go-redis/redis/v8"
|
|
_ "github.com/spf13/viper/remote"
|
|
"time"
|
|
)
|
|
|
|
var client = initClient()
|
|
|
|
func initClient() *redis.Client {
|
|
redisClient := redis.NewClient(&redis.Options{
|
|
Addr: config.Instance.Redis.Addr,
|
|
Password: config.Instance.Redis.Password,
|
|
DB: config.Instance.Redis.DB,
|
|
ReadTimeout: time.Duration(config.Instance.Redis.ReadTimeOut) * time.Millisecond,
|
|
WriteTimeout: time.Duration(config.Instance.Redis.WriteTimeout) * time.Millisecond,
|
|
})
|
|
|
|
_, err := redisClient.Ping(context.Background()).Result()
|
|
if err != nil {
|
|
panic(errors.New("redis connect ping failed, err:" + err.Error()))
|
|
}
|
|
|
|
return redisClient
|
|
}
|