rad  2.0.0
 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 <map>
19 #include <string>
20 #include <vector>
21 
22 namespace rad {
23 
24 #define DB_EMPTY_RESULT "(nil)"
25 
29 class DbAdapter {
30  public:
31  virtual ~DbAdapter(){};
32  virtual void Config(const std::string& endpoint, const timeval& timeout) = 0;
33 
34  virtual int Delete(const std::vector<std::string>& keys) = 0;
35  virtual bool Exists(const std::string& key) = 0;
36 
37  virtual std::string Get(const std::string& key) = 0;
38  virtual std::vector<std::string> MultiGet(const std::vector<std::string>& keys) = 0;
39  virtual std::string Get(const std::string& key, const std::string& field) = 0;
40  virtual std::vector<std::string> MultiGet(const std::string& key,
41  const std::vector<std::string>& fields) = 0;
42  virtual std::map<std::string, std::string> Scan(const std::string& sorted_set,
43  const std::string& pattern) = 0;
44 
45  virtual void Set(const std::string& key, const std::string& value) = 0;
46  virtual void MultiSet(const std::vector<std::string>& kvs) = 0;
47  virtual void Set(const std::string& key, const std::string& field,
48  const std::string& value) = 0;
49  virtual void MultiSet(const std::string& key, const std::vector<std::string>& fvs) = 0;
50 
51  virtual void Connect() = 0;
52  virtual void Disconnect() = 0;
53  virtual bool IsConnected() = 0;
54 };
55 
56 } // namespace rad
57 
58 #endif
virtual void MultiSet(const std::vector< std::string > &kvs)=0
virtual void Connect()=0
virtual std::map< std::string, std::string > Scan(const std::string &sorted_set, const std::string &pattern)=0
virtual ~DbAdapter()
Definition: dbAdapter.hpp:31
Definition: dbAdapter.hpp:29
virtual void Disconnect()=0
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