Redis接口的调用

时间:2021-11-22 10:12:25
1、hiredis是redis数据库的C接口,目录为/redis-3.2.6/deps/hiredis
2、示例代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#include <stdarg.h>
#include <string.h>
#include <assert.h>
#include "hiredis.h" int main()
{
//连接redis
redisContext* c = redisConnect("127.0.0.1", 6379);
if ( c->err)
{
redisFree(c);
printf("Connect to redisServer faile\n");
return -1;
}
printf("Connect to redisServer Success\n"); const char* setCommand = "set name andy";
redisReply* r = (redisReply*)redisCommand(c, setCommand); if( NULL == r)
{
printf("Execut setCommand failure\n");
redisFree(c);
return -1;
}
if( !(r->type == REDIS_REPLY_STATUS && strcasecmp(r->str,"OK")==0))
{
printf("Failed to execute command[%s]\n",setCommand);
freeReplyObject(r);
redisFree(c);
return -1;
}
freeReplyObject(r);
printf("Succeed to execute command[%s]\n", setCommand); const char* getCommand = "get name";
r = (redisReply*)redisCommand(c, getCommand);
if ( r->type != REDIS_REPLY_STRING)
{
printf("Failed to execute command[%s]\n",getCommand);
freeReplyObject(r);
redisFree(c);
return -1;
}
printf("Succeed to execute command[%s]\n", getCommand);
printf("The value of 'name' is %s\n", r->str);
freeReplyObject(r); redisFree(c);
return 0;
}
3、编译,运行如下:
[root@localhost hiredis]# g++ -o main main.cpp libhiredis.a
[root@localhost hiredis]# ./main
Connect to redisServer Success
Succeed to execute command[set name andy]
Succeed to execute command[get name]
The value of 'name' is andy