redis.go 756 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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: 10,
  14. MaxActive: 10,
  15. IdleTimeout: 50,
  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. TestOnBorrow: func(c redis.Conn, t time.Time) error {
  32. _, err := c.Do("PING")
  33. fmt.Println(err)
  34. return err
  35. },
  36. }
  37. return nil
  38. }