Redis接口的调用

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
posted on 2017-02-11 19:38  Andy Niu  阅读(3736)  评论(0编辑  收藏  举报