redis.go 589 B

123456789101112131415161718192021222324252627282930
  1. package common
  2. import (
  3. "context"
  4. "github.com/go-redis/redis/v8"
  5. )
  6. var rdb *redis.Client
  7. func GetRedis() *redis.Client {
  8. if rdb != nil && rdb.Ping(context.Background()).Err() == nil {
  9. return rdb
  10. }
  11. return initRedis()
  12. }
  13. func initRedis() *redis.Client {
  14. redisConfig := GetConfig().Redis
  15. rdb = redis.NewClient(&redis.Options{
  16. Addr: redisConfig.Addr,
  17. Password: redisConfig.Password, // no password set
  18. DB: redisConfig.Database, // use default DB
  19. })
  20. ping := rdb.Ping(context.Background())
  21. if err := ping.Err(); err != nil {
  22. panic(err.Error())
  23. }
  24. return rdb
  25. }