37 lines
1016 B
Go
37 lines
1016 B
Go
package db
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/go-redis/redis/v8"
|
|
"gorm.io/driver/mysql"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
func InitMysql(username, password, address, port, dbName string) (*gorm.DB, error) {
|
|
dsn := fmt.Sprintf("%v:%v@tcp(%v:%v)/%v?charset=utf8mb4&parseTime=True&loc=Local", username, password, address, port, dbName)
|
|
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{Logger: &dbLogger{}})
|
|
return db, err
|
|
}
|
|
|
|
func InitRedis(password, address, port string, dbName int) (*redis.Client, error) {
|
|
rdb := redis.NewClient(&redis.Options{Addr: fmt.Sprintf("%v:%v", address, port), Password: password, DB: dbName})
|
|
if rdb == nil {
|
|
return nil, fmt.Errorf("init redis fail")
|
|
}
|
|
return rdb, nil
|
|
}
|
|
|
|
func InitClickHouse(host, port, user, password, database string) (*ClickHouseRepo, error) {
|
|
ch := NewClickHouseRepo(host, port, user, password, database)
|
|
return ch, ch.Open()
|
|
}
|
|
|
|
/*
|
|
sudo docker run -d \
|
|
--name my-redis \
|
|
-p 6379:6379 \
|
|
-e REDIS_PASSWORD=fox379@@zyxi \
|
|
redis:latest \
|
|
--requirepass fox379@@zyxi
|
|
*/
|