天龙共享内存存储程序(sharememory)优化
这里针对天龙共享内存存储程序中的一些问题,提出优化方案,做了一些优化。供熟悉存储程序代码的分享。
1、共享内存Key值优化
天龙服务器的共享内存Key值是在配置文件中配置的,在新开服务器时,很容易把Key值写错造成数据错乱。例如World是不能配置ITEMSERIAL Key值的,如果配置了,很有可能会造成World和另一Server同时在写入ITEMSERIAL值,造成物品ID重复。这里,把相应的Key值在代码中写死,不需要进行配置了。
//通过配置文件来初始化smupool
BOOL ShareMemory::InitSMUConfig()
{
__ENTER_FUNCTION
m_SMUPoolCount = 0;
//worldserver的key值
if(g_Config.m_IPInfoConfig.m_IsWorldServer)
{
m_SMUPool[m_SMUPoolCount].m_Data.m_Type = ST_GLOBALDATA_SMU;
m_SMUPool[m_SMUPoolCount].m_Data.m_Key = 1000+ST_GLOBALDATA_SMU;
m_SMUPoolCount++;
m_SMUPool[m_SMUPoolCount].m_Data.m_Type = ST_MAIL_SMU;
m_SMUPool[m_SMUPoolCount].m_Data.m_Key = 1000+ST_MAIL_SMU;
m_SMUPoolCount++;
m_SMUPool[m_SMUPoolCount].m_Data.m_Type = ST_