redis.go 648 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package ads_redis
  2. import (
  3. "fmt"
  4. "miads/adslib"
  5. "time"
  6. "github.com/gomodule/redigo/redis"
  7. )
  8. var RedisConn *redis.Pool
  9. func Setup() error {
  10. host := adslib.GetConf().RedisHost
  11. password := adslib.GetConf().RedisPassword
  12. RedisConn = &redis.Pool{
  13. MaxIdle: 20,
  14. MaxActive: 50,
  15. IdleTimeout: 3 * time.Minute,
  16. Dial: func() (redis.Conn, error) {
  17. c, err := redis.Dial("tcp", host)
  18. if err != nil {
  19. fmt.Println(err)
  20. return nil, err
  21. }
  22. if password != "" {
  23. if _, err := c.Do("AUTH", password); err != nil {
  24. fmt.Println(err)
  25. c.Close()
  26. return nil, err
  27. }
  28. }
  29. return c, err
  30. },
  31. }
  32. return nil
  33. }