诸暨麻将添加redis
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 
 
 

50 Zeilen
1.3 KiB

  1. #ifndef REDIS_HEAD_FILE
  2. #define REDIS_HEAD_FILE
  3. #pragma once
  4. #include <string>
  5. #include <cpp_redis/cpp_redis>
  6. #include "winsock_initializer.h"
  7. #include <cpp_redis/misc/macro.hpp>
  8. #include <memory>
  9. #include <iostream>
  10. #include <string>
  11. #include <cstdio>
  12. template<typename ... Args>
  13. std:: string string_format(const std::string& format, Args ... args)
  14. {
  15. size_t size = snprintf(nullptr, 0, format.c_str(), args ...) + 1; // Extra space for '\0'
  16. std::unique_ptr<char[]> buf(new char[size]);
  17. snprintf(buf.get(), size, format.c_str(), args ...);
  18. return std::string(buf.get(), buf.get() + size - 1); // We don't want the '\0' inside
  19. }
  20. //Redis操作基础类
  21. #ifndef _DEBUG
  22. #pragma comment (lib,"cpp_redis.lib")
  23. #pragma comment (lib,"tacopie.lib")
  24. #else
  25. #pragma comment (lib,"cpp_redisD.lib")
  26. #pragma comment (lib,"tacopieD.lib")
  27. #endif
  28. class RedisBase
  29. {
  30. public:
  31. RedisBase();
  32. ~RedisBase();
  33. //连接redis
  34. bool Connect(const std::string& host = "127.0.0.1", std::size_t port = 6379, std::uint32_t db = 0, std::uint32_t timeout_ms = 0, std::int32_t max_reconnects = 0, std::uint32_t reconnect_interval_ms = 0);
  35. //断开和redis的连接
  36. void DisConnect(bool wait_for_removal= false);
  37. std::shared_ptr<cpp_redis::client> GetRedisClient();
  38. protected:
  39. std::shared_ptr<cpp_redis::client> m_redisclient;
  40. };
  41. #endif // REDIS_HEAD_FILE