acl  3.5.3.0
acl::redis_result类 参考

#include <redis_result.hpp>

+ 类 acl::redis_result 继承关系图:
+ acl::redis_result 的协作图:

Public 成员函数

 redis_result (dbuf_pool *dbuf)
 
void * operator new (size_t size, dbuf_pool *pool)
 
void operator delete (void *ptr, dbuf_pool *pool)
 
redis_result_t get_type (void) const
 
size_t get_size (void) const
 
int get_integer (bool *success=NULL) const
 
long long int get_integer64 (bool *success=NULL) const
 
double get_double (bool *success=NULL) const
 
const char * get_status () const
 
const char * get_error (void) const
 
const char * get (size_t i, size_t *len=NULL) const
 
const char ** gets_argv (void) const
 
const size_t * get_lens (void) const
 
size_t get_length (void) const
 
int argv_to_string (string &buf) const
 
int argv_to_string (char *buf, size_t size) const
 
const redis_result ** get_children (size_t *size) const
 
const redis_resultget_child (size_t i) const
 
dbuf_poolget_dbuf (void)
 
const stringto_string (string &out) const
 

友元

class redis_client
 

额外继承的成员函数

- Protected 成员函数 继承自 acl::acl::noncopyable
 noncopyable ()
 
 ~noncopyable ()
 

详细描述

对 redis-server 返回结果对象类,对 redis-server 返回的数据进行分析后创建 redis_result 类对象。 the redis result for redis-server's reply

在文件 redis_result.hpp31 行定义.

构造及析构函数说明

◆ redis_result()

acl::redis_result::redis_result ( dbuf_pool dbuf)

成员函数说明

◆ argv_to_string() [1/2]

int acl::redis_result::argv_to_string ( string buf) const

当数据类型为 REDIS_RESULT_STRING 类型时,该函数将按内存块存放的数据 存储至连接内存中,但需要注意防止内存溢出 compose a continus data for the slicing chunk data internal

参数
buf{string&} 存储结果数据,内部会先调用 buf.clear() store the result
返回
{int} 数据的总长度,返回值 0 表示内部数组为空 return the total length of data, 0 if data array has no elements

◆ argv_to_string() [2/2]

int acl::redis_result::argv_to_string ( char *  buf,
size_t  size 
) const

◆ get()

const char* acl::redis_result::get ( size_t  i,
size_t *  len = NULL 
) const

返回对应下标的数据(当数据类型非 REDIS_RESULT_ARRAY 时) get the string data of associated subscript(just for the type of no REDIS_RESULT_ARRAY)

参数
i{size_t} 数组下标 the array's subscript
len{size_t*} 当为非 NULL 指针时存储所返回数据的长度 when not NULL, the parameter will store the length of the result
返回
{const char*} 返回 NULL 表示下标越界 NULL if nothing exists or the subscript is out of bounds

◆ get_child()

const redis_result* acl::redis_result::get_child ( size_t  i) const

当数据类型为 REDIS_RESULT_ARRAY 类型时,该函数返回对应下标的结果对象 get one object of the given subscript from objects array

参数
i{size_t} 下标值 the given subscript
返回
{const redis_result*} 当下标值越界或结果不存在时,则返回 NULL NULL if subscript is out of bounds or object not exist

◆ get_children()

const redis_result** acl::redis_result::get_children ( size_t *  size) const

当数据类型为 REDIS_RESULT_ARRAY 类型时,该函数返回所有的数组对象 return the objects array when result type is REDIS_RESULT_ARRAY

参数
size{size_t*} 当返回数组非空时,则该地址存放数组长度 store the array's length if size isn't NULL
返回
{const const redis_result*}

◆ get_dbuf()

dbuf_pool* acl::redis_result::get_dbuf ( void  )
inline

返回构造函数传入的内存池对象 get the memory pool object set in constructor

返回
{dbuf_pool*}

在文件 redis_result.hpp188 行定义.

189  {
190  return dbuf_;
191  }

◆ get_double()

double acl::redis_result::get_double ( bool *  success = NULL) const

当返回值为 REDIS_RESULT_STRING 类型时,本方法返回对应的 double 类型值 get the double value for REDIS_RESULT_STRING result

参数
success{bool*} 本指针非 NULL 时记录操作过程是否成功 when not NULL, storing the status of success
返回
{double}

◆ get_error()

const char* acl::redis_result::get_error ( void  ) const

当出错时返回值为 REDIS_RESULT_ERROR 类型,本方法返回出错信息 when some error happened, this can get the error information

返回
{const char*} 返回空串 "" 表示没有出错信息 there was no error information if empty string returned

◆ get_integer()

int acl::redis_result::get_integer ( bool *  success = NULL) const

当返回值为 REDIS_RESULT_INTEGER 类型时,本方法返回对应的 32 位整数值 get the 32 bits integer for REDIS_RESULT_INTEGER result

参数
success{bool*} 本指针非 NULL 时记录操作过程是否成功 when not NULL, storing the status of success
返回
{int}

◆ get_integer64()

long long int acl::redis_result::get_integer64 ( bool *  success = NULL) const

当返回值为 REDIS_RESULT_INTEGER 类型时,本方法返回对应的 64 位整数值 get the 64 bits integer for REDIS_RESULT_INTEGER result

参数
success{bool*} 本指针非 NULL 时记录操作过程是否成功 when not NULL, storing the status of success
返回
{long long int}

◆ get_length()

size_t acl::redis_result::get_length ( void  ) const

返回所有数据的总长度(当数据类型非 REDIS_RESULT_ARRAY 时) return the total length of all data for no REDIS_RESULT_ARRAY

返回
{size_t}

◆ get_lens()

const size_t* acl::redis_result::get_lens ( void  ) const
inline

返回所有的数据长度数组(当数据类型非 REDIS_RESULT_ARRAY 时)地址 return all length's array if the type isn't REDIS_RESULT_ARRAY

返回
{const size_t*}

在文件 redis_result.hpp140 行定义.

141  {
142  return lens_;
143  }

◆ get_size()

size_t acl::redis_result::get_size ( void  ) const

获得当前结果结点存储的对象的个数 get the number of objects from redis-server

返回
{size_t} 返回值与存储类型的对应关系如下: the relation between returned value and result type show below: REDIS_RESULT_ERROR: 1 REDIS_RESULT_STATUS: 1 REDIS_RESULT_INTEGER: 1 REDIS_RESULT_STRING: > 0 时表示该字符串数据被切分成非连接内存块的个数 REDIS_RESULT_ARRAY: children_->size()

◆ get_status()

const char* acl::redis_result::get_status ( ) const

当返回值为 REDIS_RESULT_STATUS 类型时,本方法返回状态信息 get operation status for REDIS_RESULT_STATUS result

返回
{const char*} 返回 "" 表示出错 error if empty string returned

◆ get_type()

redis_result_t acl::redis_result::get_type ( void  ) const
inline

获得当前结果结点的数据类型 get the data type of the reply from redis-server

返回
{redis_result_t} defined above REDIS_RESULT_

在文件 redis_result.hpp51 行定义.

52  {
53  return result_type_;
54  }

◆ gets_argv()

const char** acl::redis_result::gets_argv ( void  ) const
inline

返回所有的数据数组(当数据类型非 REDIS_RESULT_ARRAY 时)地址 return all data's array if the type isn't REDIS_RESULT_ARRAY

返回
{const char**}

在文件 redis_result.hpp130 行定义.

131  {
132  return (const char**) argv_;
133  }

◆ operator delete()

void acl::redis_result::operator delete ( void *  ptr,
dbuf_pool pool 
)

◆ operator new()

void* acl::redis_result::operator new ( size_t  size,
dbuf_pool pool 
)

重载了 new/delete 操作符,在 new 新对象时,使内存的分配在 内存池进行分配 override new/delete operator, when the new object was created, memory was alloc in dbuf_pool, which is a memroy pool allocator

◆ to_string()

const string& acl::redis_result::to_string ( string out) const

将整个对象转换成字符串

参数
out{string&} 存储结果(以追加方式添加)
返回
{const string&}

友元及相关函数文档

◆ redis_client

friend class redis_client
friend

在文件 redis_result.hpp203 行定义.


该类的文档由以下文件生成: