migrate "github.com/go-pg/migrations"
"github.com/go-pg/pg"
"github.com/go-pg/pg/orm"
+ "github.com/go-redis/redis"
"github.com/jloup/utils"
)
-var DB *pg.DB
-
var log = utils.StandardL().WithField("module", "db")
+var (
+ DB *pg.DB
+ Redis *redis.Client
+)
+
type DBConfig struct {
+ Type string // tcp or unix
Address string
Database string
User string
Password string
}
-func Init(config DBConfig) {
+type RedisConfig struct {
+ Type string // tcp or unix
+ Address string
+ Password string
+ Database int
+}
+
+func Init(config DBConfig, redisConfig RedisConfig) {
var err error
DB = connect(config)
if err != nil {
log.Fatalf("cannot migratedb '%v'\n", err)
}
+
+ Redis = redis.NewClient(&redis.Options{
+ Network: redisConfig.Type,
+ Addr: redisConfig.Address,
+ Password: redisConfig.Password,
+ DB: redisConfig.Database,
+ })
+
+ _, err = Redis.Ping().Result()
+
+ if err != nil {
+ log.Fatalf("redis init error %s", err)
+ }
+
}
func migratedb() error {
User: config.User,
Password: config.Password,
Database: config.Database,
+ Network: config.Type,
Addr: config.Address,
})
}