1#ifndef NEFORCE_DATABASE_REDIS_RESULT_HPP__
2#define NEFORCE_DATABASE_REDIS_RESULT_HPP__
11#ifdef NEFORCE_SUPPORT_HIREDIS
12# include <hiredis/hiredis.h>
14NEFORCE_BEGIN_NAMESPACE__
43 ::redisReply* result_ =
nullptr;
51 bool is_array_ =
false;
53 NEFORCE_NODISCARD
string get_string()
const;
84 NEFORCE_NODISCARD
bool empty() const noexcept
override {
85 return result_ ==
nullptr || (rows_ == 0 && kv_pairs_->empty());
95 NEFORCE_NODISCARD
bool next() noexcept override;
159 NEFORCE_NODISCARD
int type() const noexcept {
return result_ !=
nullptr ? result_->type : -1; }
165 NEFORCE_NODISCARD
bool is_nil() const noexcept {
return result_ !=
nullptr && result_->type == REDIS_REPLY_NIL; }
172NEFORCE_END_NAMESPACE__
long long int64_t
64位有符号整数类型
basic_string_view< char > string_view
字符字符串视图
int64_t value_int64() const override
获取64位整数值
const vector< pair< string, string > > & value_hash() const override
获取哈希表值
int type() const noexcept
获取Redis回复类型
redis_result(::redisReply *reply)
构造函数
string_view value() const noexcept override
获取当前值
bool next() noexcept override
移动到下一个键值对
string_view key() const noexcept override
获取当前键
vector< string > value_array() const override
获取数组值
bool is_nil() const noexcept
检查是否为空值回复
bool empty() const noexcept override
检查结果集是否为空
~redis_result() override
析构函数
bool value_bool() const override
获取布尔值
double value_double() const override
获取浮点值