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 string get_string()
const;
84 NEFORCE_NODISCARD
bool empty() const noexcept
override {
return !result_ || (rows_ == 0 && kv_pairs_->empty()); }
93 NEFORCE_NODISCARD
bool next() noexcept override;
157 NEFORCE_NODISCARD
int type() const noexcept {
return result_ ? result_->type : -1; }
163 NEFORCE_NODISCARD
bool is_nil() const noexcept {
return result_ && result_->type == REDIS_REPLY_NIL; }
170NEFORCE_END_NAMESPACE__
long long int64_t
64位有符号整数类型
basic_string_view< char > string_view
字符字符串视图
NEFORCE_NODISCARD const vector< pair< string, string > > & value_hash() const override
获取哈希表值
NEFORCE_NODISCARD vector< string > value_array() const override
获取数组值
redis_result(::redisReply *reply)
构造函数
NEFORCE_NODISCARD string_view key() const noexcept override
获取当前键
NEFORCE_NODISCARD bool next() noexcept override
移动到下一个键值对
NEFORCE_NODISCARD bool is_nil() const noexcept
检查是否为空值回复
NEFORCE_NODISCARD bool empty() const noexcept override
检查结果集是否为空
NEFORCE_NODISCARD double value_double() const override
获取浮点值
NEFORCE_NODISCARD int type() const noexcept
获取Redis回复类型
NEFORCE_NODISCARD int64_t value_int64() const override
获取64位整数值
NEFORCE_NODISCARD string_view value() const noexcept override
获取当前值
NEFORCE_NODISCARD bool value_bool() const override
获取布尔值
~redis_result() override
析构函数