123456789101112131415161718192021222324252627282930313233343536 |
- package redis
- import (
- "context"
- "github.com/go-redis/redis/v8"
- "sync"
- )
- var (
- once sync.Once
- )
- // Init 初始化redis客户端
- func Init(ctx context.Context, addr, password string, db int) *redis.Client {
- var internalClient *redis.Client
- once.Do(func() {
- internalClient = newCli(ctx, addr, password, db)
- })
- return internalClient
- }
- // New 创建redis客户端实例
- func newCli(ctx context.Context, addr, password string, db int) *redis.Client {
- cli := redis.NewClient(&redis.Options{
- Addr: addr,
- Password: password,
- DB: db,
- })
- cmd := cli.Ping(ctx)
- if err := cmd.Err(); err != nil {
- panic(err)
- }
- return cli
- }
|