redis.go 694 B

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