diff --git a/俱乐部/Source/ServerControl/CorrespondServer/AttemperEngineSink.cpp b/俱乐部/Source/ServerControl/CorrespondServer/AttemperEngineSink.cpp index 6775e5a..0ae490e 100644 --- a/俱乐部/Source/ServerControl/CorrespondServer/AttemperEngineSink.cpp +++ b/俱乐部/Source/ServerControl/CorrespondServer/AttemperEngineSink.cpp @@ -1035,6 +1035,16 @@ bool CAttemperEngineSink::OnTCPNetworkMainServiceInfo(WORD wSubCmdID, VOID * pDa m_pITCPNetworkEngine->SendDataBatch(MDM_CS_SERVICE_INFO, SUB_CS_S_SERVER_ONLINE, &ServerOnLine, sizeof(ServerOnLine), 0L); + //存储信息到redis + std::vector> field_val; + field_val.push_back({ "wServerID", string_format("%d",ServerOnLine.wServerID) }); + field_val.push_back({ "dwOnLineCount", string_format("%d",ServerOnLine.dwOnLineCount) }); + field_val.push_back({ "wTableOnlineCount", string_format("%d",ServerOnLine.wTableOnlineCount) }); + field_val.push_back({ "wTableFullCount", string_format("%d",ServerOnLine.wTableFullCount) }); + m_RedisClient->GetRedisClient()->hmset(string_format("Server_Info:%d", ServerOnLine.wServerID), field_val, [](const cpp_redis::reply& reply) { + std::cout << "hmset: " << reply << std::endl; + }); + m_RedisClient->GetRedisClient()->sync_commit(); } return true; diff --git a/俱乐部/Source/ServerControl/CorrespondServer/ServiceUnits.cpp b/俱乐部/Source/ServerControl/CorrespondServer/ServiceUnits.cpp index 10f8809..1e0915b 100644 --- a/俱乐部/Source/ServerControl/CorrespondServer/ServiceUnits.cpp +++ b/俱乐部/Source/ServerControl/CorrespondServer/ServiceUnits.cpp @@ -111,11 +111,13 @@ bool CServiceUnits::InitializeService() WORD wServicePort = m_InitParameter.m_wServicePort; if (m_TCPNetworkEngine->SetServiceParameter(wServicePort, wMaxConnect, szCompilation) == false) return false; - //redis - m_RedisClient = std::make_shared(); + //redis + m_RedisClient = std::make_shared(); m_RedisClient->Connect(m_InitParameter.m_RedisHost, m_InitParameter.m_RedisPort, m_InitParameter.m_RedisDb, m_InitParameter.m_RedisTimeOut, m_InitParameter.m_RedisMaxReconnect, m_InitParameter.m_RedisReconnectInterval); - m_AttemperEngineSink.m_RedisClient = m_RedisClient; - return true; + m_AttemperEngineSink.m_RedisClient = m_RedisClient; + m_RedisClient->GetRedisClient()->set("hello", "42"); + m_RedisClient->GetRedisClient()->sync_commit(); + return true; } //ں diff --git a/俱乐部/Source/ServerControl/CppRedis/includes/RedisHead.cpp b/俱乐部/Source/ServerControl/CppRedis/includes/RedisHead.cpp index 53437ee..21e9550 100644 --- a/俱乐部/Source/ServerControl/CppRedis/includes/RedisHead.cpp +++ b/俱乐部/Source/ServerControl/CppRedis/includes/RedisHead.cpp @@ -21,7 +21,6 @@ bool RedisBase::Connect(const std::string& host /*= "127.0.0.1"*/, std::size_t p } }, timeout_ms, max_reconnects, reconnect_interval_ms); m_redisclient->select(db); - m_redisclient->disconnect(true); return true; } diff --git a/俱乐部/Source/ServerControl/CppRedis/includes/RedisHead.h b/俱乐部/Source/ServerControl/CppRedis/includes/RedisHead.h index b2788f6..c32f2f5 100644 --- a/俱乐部/Source/ServerControl/CppRedis/includes/RedisHead.h +++ b/俱乐部/Source/ServerControl/CppRedis/includes/RedisHead.h @@ -7,6 +7,19 @@ #include "winsock_initializer.h" #include #include +#include +#include +#include + +template +std:: string string_format(const std::string& format, Args ... args) +{ + size_t size = snprintf(nullptr, 0, format.c_str(), args ...) + 1; // Extra space for '\0' + std::unique_ptr buf(new char[size]); + snprintf(buf.get(), size, format.c_str(), args ...); + return std::string(buf.get(), buf.get() + size - 1); // We don't want the '\0' inside +} + //Redis #ifndef _DEBUG diff --git a/俱乐部/Source/ServerControl/KernelEngine/Debug_Unicode/vc142.pdb b/俱乐部/Source/ServerControl/KernelEngine/Debug_Unicode/vc142.pdb deleted file mode 100644 index adf201e..0000000 Binary files a/俱乐部/Source/ServerControl/KernelEngine/Debug_Unicode/vc142.pdb and /dev/null differ