redis.go 855 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package config
  2. import (
  3. "fmt"
  4. "os"
  5. "strconv"
  6. "time"
  7. "github.com/go-redis/redis"
  8. "github.com/sirupsen/logrus"
  9. )
  10. const (
  11. TokenExpireTime = 3 * time.Hour
  12. )
  13. var (
  14. TokenRedis *redis.Client
  15. )
  16. func InitRedis() {
  17. TokenRedis = newRedis(os.Getenv("TOKEN_REDIS_ADDR"), os.Getenv("TOKEN_REDIS_PW"), os.Getenv("TOKEN_REDIS_DB"))
  18. }
  19. func newRedis(addr, password, db string) (client *redis.Client) {
  20. db2, _ := strconv.ParseUint(db, 10, 64)
  21. client = redis.NewClient(&redis.Options{
  22. Addr: addr,
  23. Password: password,
  24. DB: int(db2),
  25. MaxRetries: 1,
  26. })
  27. if _, err := client.Ping().Result(); err != nil {
  28. logrus.Panicf("连接Redis[%v]不成功, err:%+v", addr, err)
  29. }
  30. return
  31. }
  32. func GetUserTokenKey(uid int64) string {
  33. return fmt.Sprintf("token:%v", uid)
  34. }
  35. func GetTokenKey(t string) string {
  36. return fmt.Sprintf("token:%v", t)
  37. }