数据库分表
This commit is contained in:
parent
4347974b17
commit
52477c5ac6
@ -385,13 +385,15 @@ func InsertServerData(data *SqlServerModStruct) error {
|
||||
}
|
||||
|
||||
func SavePlayerModData(data *SqlModStruct) error {
|
||||
sql := "INSERT INTO `t_player_mod` (`mData` , `updateTime` ,`dwUin`) Values (?,?,?) ON DUPLICATE KEY UPDATE `mData` = ? , `updateTime` = ? "
|
||||
tableName := "t_player_mod_" + fmt.Sprintf("%02d", data.DwUin%100)
|
||||
sql := "INSERT INTO `" + tableName + "` (`mData` , `updateTime` ,`dwUin`) Values (?,?,?) ON DUPLICATE KEY UPDATE `mData` = ? , `updateTime` = ? "
|
||||
_, err := SqlDb.Exec(sql, data.ModData, data.UpdataTime, data.DwUin, data.ModData, data.UpdataTime)
|
||||
return err
|
||||
}
|
||||
|
||||
func InsertPlayerModData(data *SqlModStruct) error {
|
||||
sql := "insert into t_player_mod (`mData` , `updateTime` ,`dwUin`) Values (?,?,?)"
|
||||
tableName := "t_player_mod_" + fmt.Sprintf("%02d", data.DwUin%100)
|
||||
sql := "insert into `" + tableName + "` (`mData` , `updateTime` ,`dwUin`) Values (?,?,?)"
|
||||
_, err := SqlDb.Exec(sql, data.ModData, data.UpdataTime, data.DwUin)
|
||||
return err
|
||||
}
|
||||
|
||||
@ -659,6 +659,8 @@ func ReqGmCommand_(player *Player, Command string) error {
|
||||
From: uid,
|
||||
Extra: []int{2, 145},
|
||||
})
|
||||
case "resetKv":
|
||||
player.PlayMod.mod_list.Kv.Data = make(map[int]string)
|
||||
case "debugBeckmarkMsg":
|
||||
for i := 0; i < 1000000; i++ {
|
||||
for j := 0; j < 10; j++ {
|
||||
|
||||
@ -128,15 +128,17 @@ type PlayerModList struct {
|
||||
}
|
||||
|
||||
func (p *PlayerModData) LoadDataFromDB(dwUin interface{}) bool {
|
||||
uid := dwUin.(int64)
|
||||
mod_table := "t_player_mod_" + fmt.Sprintf("%02d", uid%100)
|
||||
sqlStr := "SELECT * FROM t_player_mod WHERE dwUin = ?"
|
||||
p.Data = db.SqlModStruct{}
|
||||
if err := db.SqlDb.Get(&p.Data, sqlStr, dwUin.(int64)); err != nil {
|
||||
|
||||
p.IsHaveDataDb = false
|
||||
} else {
|
||||
p.IsHaveDataDb = true
|
||||
if err := db.SqlDb.Get(&p.Data, sqlStr, uid); err != nil {
|
||||
if err = db.SqlDb.Get(&p.Data, "select * from "+mod_table+" where dwUin = ?", uid); err != nil {
|
||||
log.Debug("player mod get data failed, dwUin:%d, err:%v\n", uid, err)
|
||||
return false
|
||||
}
|
||||
}
|
||||
p.Data.DwUin = dwUin.(int64)
|
||||
p.Data.DwUin = uid
|
||||
return true
|
||||
}
|
||||
|
||||
@ -144,17 +146,6 @@ func (p *PlayerModData) ClearData() bool {
|
||||
return true
|
||||
}
|
||||
|
||||
func (p *PlayerModData) SaveDataFromDB(Key interface{}) bool {
|
||||
//序列化数据
|
||||
db.FormatAllMemUpdateDb(&p.Data, "t_player_mod", "dwUin")
|
||||
p.IsHaveDataDb = true
|
||||
return true
|
||||
}
|
||||
|
||||
func (p *PlayerModData) ReqModData(buf []byte) {
|
||||
|
||||
}
|
||||
|
||||
// 推送基础数据
|
||||
func (p *PlayerModData) Reconnect(b bool) []byte {
|
||||
return []byte{}
|
||||
|
||||
@ -83,7 +83,7 @@ CREATE TABLE IF NOT EXISTS `t_player_baseinfo` (
|
||||
/*==============================================================*/
|
||||
CREATE TABLE IF NOT EXISTS t_player_mod (
|
||||
`dwUin` bigint unsigned COMMENT '玩家uid',
|
||||
`mData` blob DEFAULT NULL COMMENT '数据',
|
||||
`mData` mediumblob DEFAULT NULL COMMENT '数据',
|
||||
`updateTime` int unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
|
||||
primary key (`dwUin`)
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE utf8mb4_general_ci COMMENT = '玩家模块表';
|
||||
|
||||
Loading…
Reference in New Issue
Block a user