12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package dblogic
- import (
- "os"
- "fmt"
- "blog/configs"
- "blog/core/sql"
- "blog/core/rediscli"
- "blog/models/tables"
- "github.com/go-redis/redis"
- "github.com/jinzhu/gorm"
- )
- func M(serverName string, keys ...string) *gorm.DB {
- server := tables.GetServerConf(serverName)
- //环形库一定要带参数
- sType := "main"
- if len(server) >= 6 && server[0:6] == "circle" {
- sType = "circle"
- }
- if sType == "circle" && len(keys) == 0 {
- fmt.Println("circle db must use circle key")
- os.Exit(-2)
- }
- //fmt.Println("server:"+server)
- conf, index := sysConfig.GetSqlConf(server, keys...)
- if conf == "" {
- fmt.Println("db config data not found")
- os.Exit(-3)
- }
- instKey := serverName
- if sType == "circle" {
- instKey = fmt.Sprintf("%s%d", instKey, index)
- }
- //fmt.Println(instKey)
- return sql.GetMysqlDb(conf, instKey)
- }
- func R(serverName ...string) *redis.Client{
- key := tables.GetRdConf(serverName...)
- host, auth := sysConfig.GetRedisConf(key)
- return rediscli.GetRedis(host, auth)
- }
|