forked from all_user/stat_center
35 lines
544 B
Go
35 lines
544 B
Go
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
|
|
}
|