ifw  0.0.1-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DbAdapter.hpp
Go to the documentation of this file.
1 
10 #ifndef RAD_DB_ADAPTER_HPP
11 #define RAD_DB_ADAPTER_HPP
12 
13 #pragma GCC diagnostic push
14 #pragma GCC diagnostic ignored "-Wpedantic"
15 #include <hiredis.h>
16 #pragma GCC diagnostic pop
17 
18 #include <string>
19 #include <vector>
20 #include <map>
21 
22 namespace rad {
23 
24 #define DB_EMPTY_RESULT "(nil)"
25 
29 class DbAdapter
30 {
31 public:
32  virtual ~DbAdapter() {};
33  virtual void Config(const std::string& endpoint, const timeval& timeout) = 0;
34 
35  virtual int Delete(const std::vector<std::string>& keys) = 0;
36  virtual bool Exists(const std::string& key) = 0;
37 
38  virtual std::string Get(const std::string& key) = 0;
39  virtual std::vector<std::string> MultiGet(const std::vector<std::string>& keys) = 0;
40  virtual std::string Get(const std::string& key, const std::string& field) = 0;
41  virtual std::vector<std::string> MultiGet(const std::string& key, const std::vector<std::string>& fields) = 0;
42  virtual std::map<std::string,std::string> Scan(const std::string& sortedSet, const std::string& pattern) = 0;
43 
44  virtual void Set(const std::string& key, const std::string& value) = 0;
45  virtual void MultiSet(const std::vector<std::string>& kvs) = 0;
46  virtual void Set(const std::string& key, const std::string& field, const std::string& value) = 0;
47  virtual void MultiSet(const std::string& key, const std::vector<std::string>& fvs) = 0;
48 
49  virtual void Connect() = 0;
50  virtual void Disconnect() = 0;
51  virtual bool IsConnected() = 0;
52 };
53 
54 } // namespace rad
55 
56 #endif
double value
Definition: easylogging++.h:814
virtual void MultiSet(const std::vector< std::string > &kvs)=0
virtual void Connect()=0
virtual ~DbAdapter()
Definition: DbAdapter.hpp:32
Definition: DbAdapter.hpp:29
virtual std::map< std::string, std::string > Scan(const std::string &sortedSet, const std::string &pattern)=0
virtual void Disconnect()=0
optional bool timeout
Definition: requests.proto:13
virtual void Set(const std::string &key, const std::string &value)=0
virtual std::string Get(const std::string &key)=0
virtual bool IsConnected()=0
virtual void Config(const std::string &endpoint, const timeval &timeout)=0
virtual int Delete(const std::vector< std::string > &keys)=0
virtual std::vector< std::string > MultiGet(const std::vector< std::string > &keys)=0
virtual bool Exists(const std::string &key)=0