package redis import ( "github.com/go-redis/redis" "log" ) func (m *Manager) Client() *redis.Client { if m.client == nil { m.initConnect() } return m.client } func (m *Manager) Close() { if m.client != nil { m.client.Close() m.client = nil } } func (m *Manager) initConnect() error { return m.Connect(m.options) } func (m *Manager) Connect(opts *Options) error { c := redis.NewClient(opts) if err := c.Ping().Err(); err != nil { log.Panicf("[error] ping redis err %+v\n", err) return err } m.client = c return nil }