Thunderbots Project
Loading...
Searching...
No Matches
redis_client.h
1#pragma once
2
3#include "chrono"
4#include "cpp_redis/cpp_redis"
5#include "shared/constants.h"
6#include "software/logger/logger.h"
7#include "string"
8#include "unordered_map"
9
10
12{
13 public:
19 explicit RedisClient(std::string address, size_t port);
20
21 virtual ~RedisClient();
22
23
30 std::string getSync(const std::string &key);
31
39 void getAsync(const std::string &key,
40 const cpp_redis::reply_callback_t &reply_callback);
41
52 void getAsyncNoCommit(const std::string &key,
53 const cpp_redis::reply_callback_t &reply_callback);
54
61 void setAsync(const std::string &key, const std::string &value);
62
69 void setSync(const std::string &key, const std::string &value);
70
81 void setNoCommit(const std::string &key, const std::string &value);
82
86 void asyncCommit();
87
91 void syncCommit();
92
96 std::unordered_map<std::string, std::string> getAllKeyValuePairs();
97
98 private:
99 cpp_redis::subscriber subscriber_;
100 cpp_redis::client client_;
101 std::unordered_map<std::string, std::string> key_value_set_;
102 // Connection Parameters
103 std::string host_;
104 size_t port_;
105};
Definition redis_client.h:12
void setNoCommit(const std::string &key, const std::string &value)
Definition redis_client.cpp:80
void getAsyncNoCommit(const std::string &key, const cpp_redis::reply_callback_t &reply_callback)
Definition redis_client.cpp:55
void setAsync(const std::string &key, const std::string &value)
Definition redis_client.cpp:68
void getAsync(const std::string &key, const cpp_redis::reply_callback_t &reply_callback)
Definition redis_client.cpp:61
std::unordered_map< std::string, std::string > getAllKeyValuePairs()
Definition redis_client.cpp:95
std::string getSync(const std::string &key)
Definition redis_client.cpp:48
void syncCommit()
Definition redis_client.cpp:90
void setSync(const std::string &key, const std::string &value)
Definition redis_client.cpp:74
void asyncCommit()
Definition redis_client.cpp:85