rad  5.1.0
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;
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
Definition: dbAdapterRedis.hpp:26
std::string Get(const std::string &key)
Definition: dbAdapterRedis.cpp:180
DbAdapterRedis()
Definition: dbAdapterRedis.cpp:18
DbAdapterRedis & operator=(const DbAdapterRedis &)=delete
Disable copy constructor.
void MultiSet(const std::vector< std::string > &kvs)
Definition: dbAdapterRedis.cpp:594
void Set(const std::string &key, const std::string &value)
Definition: dbAdapterRedis.cpp:560
bool Exists(const std::string &key)
Definition: dbAdapterRedis.cpp:129
void Disconnect()
Definition: dbAdapterRedis.cpp:770
bool IsConnected()
Definition: dbAdapterRedis.cpp:788
void Connect()
Definition: dbAdapterRedis.cpp:738
std::map< std::string, std::string > Scan(const std::string &key, const std::string &pattern)
Definition: dbAdapterRedis.cpp:467
void Config(const std::string &endpoint, const timeval &timeout)
Definition: dbAdapterRedis.cpp:57
virtual ~DbAdapterRedis()
Definition: dbAdapterRedis.cpp:46
DbAdapterRedis(const DbAdapterRedis &)=delete
std::vector< std::string > MultiGet(const std::vector< std::string > &keys)
Definition: dbAdapterRedis.cpp:233
int Delete(const std::vector< std::string > &keys)
Definition: dbAdapterRedis.cpp:73
Definition: dbAdapter.hpp:29
DbAdapter class header file.
Definition: actionsApp.cpp:20