linux下的hiredis的安装和使用(二)

来源:互联网 发布:java classpath 用法 编辑:程序博客网 时间:2024/06/08 07:48
为了提高redis连接的访问效率,我们需要考虑长时间与redis服务器保持连接,这样可以随时在需要时快速获取命令结果。
接下,我们就要解决与redis的连接的稳定性问题。
为了保证与redis长连接的稳定,我们需要了解针对redis访问的更多细节以及遇到了哪些异常,这样就可以做出很多有针对性的处理,提升稳定性。
这里给出另一组使用hiredis访问redis的方法。
1、使用接口
1)接口:void redisAppendCommand(redisContext *c, const char *format, ...);
作用:将命令提交到连接上下文
2)接口:int redisGetReply(redisContext *c, void **reply);
作用:返回请求连接上下文最前面的reply,注意第二个参数类型是reply指针的指针
2、代码实例
redisReply *r;
redisAppendCommand(c,"SET a b");
int n=redisGetReply(c,&r);
3、异常状况分析:
n的可能值:
NULL     :  连接上下文为空
REDIS_ERR:  连接上下文出现错误
REDIS_OK :  连接上下文执行命令成功

n为REDIS_ERR,c的对应错误码:
REDIS_ERR_IO: IO错误
REDIS_ERR_EOF: 连接错误,服务器已经关闭了连接
REDIS_ERR_PROTOCOL:协议解析错误

REDIS_ERR_OTHER: 其他错误

风险:
如果没有执行redisAppendCommand,直接执行redisGetReply,程序将阻塞。
0 0
原创粉丝点击