关于 redisCommand 以及 redisReply
关于 以及
2023-09-14 09:15:26 时间
源码不长,五分钟就都能翻出来。
void* redisCommand(redisContext c,const char format,...);
返回值是一个void类型的指针,实际为指向一个redisReply类型的指针
redisReply结构体定义如下:
/* This is the reply object returned by redisCommand() */
typedef struct redisReply {
int type; /* REDIS_REPLY_* */
long long integer; /* The integer when type is REDIS_REPLY_INTEGER */
size_t len; /* Length of string */
char *str; /* Used for both REDIS_REPLY_ERROR and REDIS_REPLY_STRING */
size_t elements; /* number of elements, for REDIS_REPLY_ARRAY */
struct redisReply **element; /* elements vector for REDIS_REPLY_ARRAY */
} redisReply;
下面是几种redis的常见错误及返回值类型:
#define REDIS_ERR -1
#define REDIS_OK 0
//错误码
#define REDIS_ERR_IO 1 /* Error in read or write */
#define REDIS_ERR_EOF 3 /* End of file */
#define REDIS_ERR_PROTOCOL 4 /* Protocol error */
#define REDIS_ERR_OOM 5 /* Out of memory */
#define REDIS_ERR_OTHER 2 /* Everything else... */
//OK码
#define REDIS_REPLY_STRING 1 //存放在char *str
#define REDIS_REPLY_ARRAY 2 //存储数组
#define REDIS_REPLY_INTEGER 3 //integer存储为数据条数
#define REDIS_REPLY_NIL 4 // null值
#define REDIS_REPLY_STATUS 5 //成功状态码为:"OK" 存放在char *str
#define REDIS_REPLY_ERROR 6 //存放在char *str
相关文章
- 关于选择与努力,谁重要?
- 关于文件上传下载以及其他进度条的实现
- 关于webpack,babel,以及es6和commonJS之间的联系(转)
- 关于文献阅读和后续写作
- 关于 SAP Spartacus CSR fallback 之后,是否仍然会继续进行 SSR 的处理
- 关于 Angular 服务实例作用域的问题 - 使用组件限定服务提供者的作用域
- Atitit 关于处理环保行动联盟和动物解放阵线游击队的任命书 委任状
- 关于现代浏览器的 back-and-forward 缓存机制
- AI:周志华老师文章《关于强人工智能》的阅读笔记以及感悟
- 关于Java还是Python的学习,我犹豫了很久,最终选择了........
- 关于任务栏气球提示的超时时间问题
- 关于WinMain函数的第二个参数解释
- 关于ORM,以及Python中SQLAlchemy的sessionmaker,scoped_session
- 关于fork()函数的查漏补缺,赶紧来测测能答对几道题