正常連接服務后加上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()所產生的連接。