ifw  0.0.1-dev
 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 <string>
18 #include <vector>
19 #include <map>
20 
21 namespace rad {
22 
26 class DbAdapterRedis : public DbAdapter
27 {
28 public:
30  DbAdapterRedis(const std::string& ipaddr, const int port, const timeval& timeout);
31  virtual ~DbAdapterRedis();
32 
33  void Config(const std::string& endpoint, const timeval& timeout);
34 
35  int Delete(const std::vector<std::string>& keys);
36  bool Exists(const std::string& key);
37 
38  std::string Get(const std::string& key);
39  std::vector<std::string> MultiGet(const std::vector<std::string>& keys);
40  std::string Get(const std::string& key, const std::string& field);
41  std::vector<std::string> MultiGet(const std::string& key, 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 mIsConnected;
58  std::string mIpAddr;
59  int mPort;
60  timeval mTimeout;
61  redisContext* mContext;
62 };
63 
64 } // namespace rad
65 
66 #endif
double value
Definition: easylogging++.h:814
void Connect()
Definition: DbAdapterRedis.cpp:772
void Disconnect()
Definition: DbAdapterRedis.cpp:810
std::string Get(const std::string &key)
Definition: DbAdapterRedis.cpp:204
Definition: DbAdapterRedis.hpp:26
std::map< std::string, std::string > Scan(const std::string &key, const std::string &pattern)
Definition: DbAdapterRedis.cpp:504
void Set(const std::string &key, const std::string &value)
Definition: DbAdapterRedis.cpp:593
Definition: DbAdapter.hpp:29
void Config(const std::string &endpoint, const timeval &timeout)
Definition: DbAdapterRedis.cpp:70
int Delete(const std::vector< std::string > &keys)
Definition: DbAdapterRedis.cpp:92
DbAdapterRedis()
Definition: DbAdapterRedis.cpp:18
optional bool timeout
Definition: requests.proto:13
DbAdapterRedis & operator=(const DbAdapterRedis &)=delete
Disable copy constructor.
virtual ~DbAdapterRedis()
Definition: DbAdapterRedis.cpp:56
std::vector< std::string > MultiGet(const std::vector< std::string > &keys)
Definition: DbAdapterRedis.cpp:266
bool Exists(const std::string &key)
Definition: DbAdapterRedis.cpp:146
void MultiSet(const std::vector< std::string > &kvs)
Definition: DbAdapterRedis.cpp:627
bool IsConnected()
Definition: DbAdapterRedis.cpp:829