1、redis存取二进制数据
redisCommandArgv接口是二进制安全的,我们可以用此接口实现对二进制的存取。对于多参数传递,hiredis提供了以下接口,这个接口中最后一个参数是所有的传入数据的内容长度,就是说这个借口是二进制安全的。
Void *reidsCommandArgv(redisContext *c, int argc, const char **argv, const size_t *argvlen);
2、hiredis的使用
1)连接redis数据库
redisContext *redisConnect(const char *ip, int port);
ip:为redis数据库的IP地址,可以是远程的,也可以是本地的172.0.0.1
port:为reids数据监听的端口号,redis默认监听的端口号为6379
2)发送需要执行的命令
Void *redisCommand(redisContext *c, const char *format, …);
Void *redisCommandArgv(redisContext *c, int argc, const char **argv, const size_t *argvlen);
Argvlen这个数组存储了命令参数中每一个参数的长度。
为每一个参数指定长度,可以是二进制安全的函数。函数会按着长度来决定字符串的终止,而不是’\0’。
redisAppendCommand*函数支持管道命令
void redisAppendCommand(redisContext *c, const char *format, ...);
void redisAppendCommandArgv(redisContext *c, int argc, const char **argv, const size_t *argvlen);
int redisGetReply(redisContext *context,redisReply** reply);
3) 释放资源
Void freeReplyObject(void *reply);
Void redisFree(redisContext *c);
所有的返回结果都需要释放资源调用freeReplyObject函数。这个函数会递归的释放数组中的资源,不需要手动释放数组资源。