From f8d74b243ace56b0a75c6c4180f800652e93244f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AE=B7=E5=8B=87?= Date: Mon, 25 Sep 2023 11:38:40 +0800 Subject: [PATCH] save --- server/imserver/cachedbmgr.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/server/imserver/cachedbmgr.go b/server/imserver/cachedbmgr.go index bc158f24..0c9ccc5e 100644 --- a/server/imserver/cachedbmgr.go +++ b/server/imserver/cachedbmgr.go @@ -2,6 +2,7 @@ package main import ( "f5" + "fmt" "q5" ) @@ -12,14 +13,19 @@ func (cm *CacheMgr) LoadFromDB() { cm.loadAllGuildUserProfile() } +// TODO 重加载数据,1000 迭代 +var userTable = "gamedb2006_dev_1.t_user" +var friendShipsTable = "frienddb_dev_1.t_friend_ships" +var guildMembersTable = "frienddb_dev_1.t_guild_members" + func (cm *CacheMgr) loadAllFriendUserProfile() { - sql := "SELECT account_id, name, head_id, head_frame, star_num, rank, last_login_time FROM ( SELECT account1_id AS account_id, name, head_id, head_frame, star_num, rank, last_login_time FROM frienddb_dev_1.t_friend_ships AS fs JOIN gamedb2006_dev_1.t_user AS u ON fs.account1_id = u.account_id UNION SELECT account2_id AS account_id, name, head_id, head_frame, star_num, rank, last_login_time FROM frienddb_dev_1.t_friend_ships AS fs JOIN gamedb2006_dev_1.t_user AS u ON fs.account2_id = u.account_id) AS friend_info_table;" + sql := fmt.Sprintf("SELECT account_id, name, head_id, head_frame, star_num, rank, last_login_time FROM ( SELECT account1_id AS account_id, name, head_id, head_frame, star_num, rank, last_login_time FROM %s AS fs JOIN %s AS u ON fs.account1_id = u.account_id UNION SELECT account2_id AS account_id, name, head_id, head_frame, star_num, rank, last_login_time FROM %s AS fs JOIN %s AS u ON fs.account2_id = u.account_id) AS friend_info_table;", friendShipsTable, userTable, friendShipsTable, userTable) cm.loadUsersProfile(sql) } // loadGuildFromDB 加载公会成员信息 func (cm *CacheMgr) loadAllGuildUserProfile() { - sql := "select a.account_id, a.name, a.head_id, a.head_frame, a.star_num, a.`rank`, a.last_login_time from gamedb2006_dev_1.t_user a,frienddb_dev_1.t_guild_members b where a.account_id = b.account_id" + sql := fmt.Sprintf("select a.account_id, a.name, a.head_id, a.head_frame, a.star_num, a.`rank`, a.last_login_time from %s a,%s b where a.account_id = b.account_id", userTable, guildMembersTable) cm.loadUsersProfile(sql) }