redisReply 定义如下:
/* This is the reply object returned by redisCommand() */
typedef struct redisReply {
int type; /* 返回值类型 */
long long integer; /* 当返回类型为 REDIS_REPLY_INTEGER 时 */
size_t len; /* 返回的字符串长度 */
char *str; /* 当返回值类型为 REDIS_REPLY_ERROR 和 REDIS_REPLY_STRING */
size_t elements; /* 返回的数组长度 */
struct redisReply **element; /* 当返回值类型为 REDIS_REPLY_ARRAY */
} redisReply;
type 有以下几种类型:
REDIS_REPLY_STRING : 1
REDIS_REPLY_ARRAY : 2
REDIS_REPLY_INTEGER :3
REDIS_REPLY_NIL : 4
REDIS_REPLY_STATUS : 5
REDIS_REPLY_ERROR : 6
如:
_reply = static_cast<redisReply *>(redisCommand(_context, "SETNX test 1");
此时 _reply->type 为 REDIS_REPLY_INTEGER ,且值存放在 _reply->integer 中。
_reply = static_cast<redisReply *>(redisCommand(_context, "GET test");
此时 _reply->type 为 REDIS_REPLY_STATUS,且值存放在 _reply->str 中。("OK")
具体的返回值和返回类型与 redis 相关命令相同。