rad  2.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
dbAdapterRedis.hpp
Go to the documentation of this file.
1 
10 #ifndef RAD_DB_ADAPTER_REDIS_HPP
11 #define RAD_DB_ADAPTER_REDIS_HPP
12 
13 #include <rad/dbAdapter.hpp>
14 
15 #include <hiredis.h>
16 
17 #include <map>
18 #include <string>
19 #include <vector>
20 
21 namespace rad {
22 
26 class DbAdapterRedis : public DbAdapter {
27  public:
29  DbAdapterRedis(const std::string& ipaddr, const int port, const timeval& timeout);
30  virtual ~DbAdapterRedis();
31 
32  void Config(const std::string& endpoint, const timeval& timeout);
33 
34  int Delete(const std::vector<std::string>& keys);
35  bool Exists(const std::string& key);
36 
37  std::string Get(const std::string& key);
38  std::vector<std::string> MultiGet(const std::vector<std::string>& keys);
39  std::string Get(const std::string& key, const std::string& field);
40  std::vector<std::string> MultiGet(const std::string& key,
41  const std::vector<std::string>& fields);
42  std::map<std::string, std::string> Scan(const std::string& key, const std::string& pattern);
43 
44  void Set(const std::string& key, const std::string& value);
45  void MultiSet(const std::vector<std::string>& kvs);
46  void Set(const std::string& key, const std::string& field, const std::string& value);
47  void MultiSet(const std::string& key, const std::vector<std::string>& fvs);
48 
49  void Connect();
50  void Disconnect();
51  bool IsConnected();
52 
53  DbAdapterRedis(const DbAdapterRedis&) = delete;
54  DbAdapterRedis& operator=(const DbAdapterRedis&) = delete;
55 
56  private:
57  bool m_is_connected;
58  std::string m_ip_addr;
59  int m_port;
60  timeval m_timeout;
61  redisContext* m_context;
62 };
63 
64 } // namespace rad
65 
66 #endif
void Connect()
Definition: dbAdapterRedis.cpp:762
void Disconnect()
Definition: dbAdapterRedis.cpp:796
std::string Get(const std::string &key)
Definition: dbAdapterRedis.cpp:186
Definition: dbAdapterRedis.hpp:26
std::map< std::string, std::string > Scan(const std::string &key, const std::string &pattern)
Definition: dbAdapterRedis.cpp:479
void Set(const std::string &key, const std::string &value)
Definition: dbAdapterRedis.cpp:576
Definition: dbAdapter.hpp:29
void Config(const std::string &endpoint, const timeval &timeout)
Definition: dbAdapterRedis.cpp:57
int Delete(const std::vector< std::string > &keys)
Definition: dbAdapterRedis.cpp:73
DbAdapterRedis()
Definition: dbAdapterRedis.cpp:18
DbAdapterRedis & operator=(const DbAdapterRedis &)=delete
Disable copy constructor.
virtual ~DbAdapterRedis()
Definition: dbAdapterRedis.cpp:46
std::vector< std::string > MultiGet(const std::vector< std::string > &keys)
Definition: dbAdapterRedis.cpp:240
bool Exists(const std::string &key)
Definition: dbAdapterRedis.cpp:131
void MultiSet(const std::vector< std::string > &kvs)
Definition: dbAdapterRedis.cpp:612
bool IsConnected()
Definition: dbAdapterRedis.cpp:814