bool NFCCommonRedisModule::SaveRecordInfo(const NFGUID & self, const NFMsg::ObjectRecordList& xRecordData, const int nExpireSecond) { if (self.IsNull()) { return false; } NF_SHARE_PTR<NFIRedisClient> pDriver = m_pNoSqlModule->GetDriverBySuit(self.ToString()); if (!pDriver) { return false; } std::vector<std::string> vKeyList; std::vector<std::string> vValueList; for (int i = 0; i < xRecordData.record_list_size(); ++i) { const NFMsg::ObjectRecordBase& xRecord = xRecordData.record_list(i); std::string strValue; if (!xRecord.SerializeToString(&strValue)) { continue; } vKeyList.push_back(xRecord.record_name()); vValueList.push_back(strValue); } if (vKeyList.size() != vValueList.size()) { return false; } std::string strKey = GetRecordCacheKey(self); if (!pDriver->HMSET(strKey, vKeyList, vValueList)) { return false; } if (nExpireSecond > 0) { pDriver->EXPIRE(strKey, nExpireSecond); } return true; }
bool NFCCommonRedisModule::SavePropertyInfo(const NFGUID& self, NF_SHARE_PTR<NFIPropertyManager> pPropertyManager, const int nExpireSecond) { if (self.IsNull()) { return false; } if (!pPropertyManager) { return false; } NF_SHARE_PTR<NFIRedisClient> pDriver = m_pNoSqlModule->GetDriverBySuit(self.ToString()); if (!pDriver) { return false; } std::vector<std::string> vKeyList; std::vector<std::string> vValueList; if (!ConvertPropertyManagerToVector(pPropertyManager, vKeyList, vValueList)) { return false; } if (vKeyList.size() != vValueList.size()) { return false; } std::string strKey= GetPropertyCacheKey(self); if (!pDriver->HMSET(strKey, vKeyList, vValueList)) { return false; } if (nExpireSecond > 0) { pDriver->EXPIRE(strKey, nExpireSecond); } return true; }