正常连接服务后加上auth命令传入密码:
redisContext *c = redisConnect((char *)redis_host, redis_port);
if (c->err)
{ /* Error flags, 0 when there is no error */
printf("连接Redis失败: %s\n", c->errstr);
exit(1);
}
else
{
printf("连接Redis成功!\n");
}
redisReply *reply = (redisReply *)redisCommand(c, "AUTH %s", redis_password);
if (reply->type == REDIS_REPLY_ERROR)
{
printf("Redis认证失败!\n");
}
else
{
printf("Redis认证成功!\n");
}
freeReplyObject(reply);
redisFree(c);
函数原型:redisContext *redisConnect(const char *ip, int port)
说明:该函数用来连接redis数据库,参数为数据库的ip地址和端口,一般redis数据库的端口为6379
该函数返回一个结构体redisContext。
函数原型:void *redisCommand(redisContext *c, const char format, ...);
说明:该函数执行命令,就如sql数据库中的SQL语句一样,只是执行的是redis数据库中的操作命令,第一个参数为连接数据库时返回的redisContext,剩下的参数为变参,就如C标准函数printf函数一样的变参。返回值为void,一般强制转换成为redisReply类型的进行进一步的处理。
函数原型void freeReplyObject(void *reply);
说明:释放redisCommand执行后返回的redisReply所占用的内存
函数原型:void redisFree(redisContext *c);
说明:释放redisConnect()所产生的连接。