rdb.go 640 B

123456789101112131415161718192021222324252627282930313233
  1. package rdb
  2. import (
  3. "context"
  4. "time"
  5. "github.com/go-redis/redis/v8"
  6. "github.com/spf13/viper"
  7. )
  8. var (
  9. rdb *redis.Client
  10. )
  11. // 初始化连接
  12. func InitClient() (err error) {
  13. rdb = redis.NewClient(&redis.Options{
  14. Addr: viper.GetString("rdb.addr"),
  15. Password: viper.GetString("rdb.password"), // no password set
  16. DB: viper.GetInt("rdb.db"), // use default DB
  17. PoolSize: viper.GetInt("rdb.pool_size"), // 连接池大小
  18. })
  19. ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
  20. defer cancel()
  21. _, err = rdb.Ping(ctx).Result()
  22. return err
  23. }
  24. func GetRDB() *redis.Client {
  25. return rdb
  26. }