rad 6.2.0
Loading...
Searching...
No Matches
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 <map>
16#include <string>
17#include <vector>
18
19// forward declatation to avoid including <hiredis.h> in the public interface
20struct redisContext;
21
22namespace rad {
23
27class DbAdapterRedis : public DbAdapter {
28 public:
30 DbAdapterRedis(const std::string& ipaddr, const int port, const timeval& timeout);
31
32 ~DbAdapterRedis() override;
33 void Config(const std::string& endpoint, const timeval& timeout) override;
34
35 int Delete(const std::vector<std::string>& keys) override;
36 bool Exists(const std::string& key) override;
37
38 std::string Get(const std::string& key) override;
39 std::vector<std::string> MultiGet(const std::vector<std::string>& keys) override;
40 std::string Get(const std::string& key, const std::string& field) override;
41 std::vector<std::string> MultiGet(const std::string& key,
42 const std::vector<std::string>& fields) override;
43 std::map<std::string, std::string> Scan(const std::string& key,
44 const std::string& pattern) override;
45
46 void Set(const std::string& key, const std::string& value) override;
47 void MultiSet(const std::vector<std::string>& kvs) override;
48 void Set(const std::string& key,
49 const std::string& field,
50 const std::string& value) override;
51 void MultiSet(const std::string& key, const std::vector<std::string>& fvs) override;
52
53 void Connect() override;
54 void Disconnect() override;
55 bool IsConnected() override;
56
57 DbAdapterRedis(const DbAdapterRedis&) = delete;
59
60 private:
61 bool m_is_connected;
62 std::string m_ip_addr;
63 int m_port;
64 timeval m_timeout;
65 redisContext* m_context;
66};
67
68} // namespace rad
69
70#endif
Definition dbAdapterRedis.hpp:27
bool Exists(const std::string &key) override
Definition dbAdapterRedis.cpp:135
void MultiSet(const std::vector< std::string > &kvs) override
Definition dbAdapterRedis.cpp:603
void Connect() override
Definition dbAdapterRedis.cpp:747
std::map< std::string, std::string > Scan(const std::string &key, const std::string &pattern) override
Definition dbAdapterRedis.cpp:476
void Disconnect() override
Definition dbAdapterRedis.cpp:779
~DbAdapterRedis() override
Definition dbAdapterRedis.cpp:52
DbAdapterRedis()
Definition dbAdapterRedis.cpp:24
DbAdapterRedis & operator=(const DbAdapterRedis &)=delete
Disable copy constructor.
std::string Get(const std::string &key) override
Definition dbAdapterRedis.cpp:186
int Delete(const std::vector< std::string > &keys) override
Definition dbAdapterRedis.cpp:79
DbAdapterRedis(const DbAdapterRedis &)=delete
std::vector< std::string > MultiGet(const std::vector< std::string > &keys) override
Definition dbAdapterRedis.cpp:239
bool IsConnected() override
Definition dbAdapterRedis.cpp:797
void Set(const std::string &key, const std::string &value) override
Definition dbAdapterRedis.cpp:569
void Config(const std::string &endpoint, const timeval &timeout) override
Definition dbAdapterRedis.cpp:63
Definition dbAdapter.hpp:24
DbAdapter class header file.
Definition actionsApp.cpp:23