c连接redis

1. 安装启动redis

2. 安装redis c语言客户端

#include <stdio.h>
#include <stdlib.h>
#include <hiredis.h>

int main(int argc, char **argv) {
//    if (argc < 3) {
//        printf("usage: connRedis hostname port password\n");
//        return 1;
//    }
//    char *hostname = argv[1];
//    int port = atoi(argv[2]);
//    char *password = argv[3];

    char *hostname = "127.0.0.1";
    int port = 6379;
    char *password = "";

    redisContext *conn;
    redisReply *reply;
    struct timeval timeout = {1, 500000};
    conn = redisConnectWithTimeout(hostname, port, timeout);
    // conn erro
    if (conn == NULL || conn->err) {
        if (conn) {
            printf("connection error %s\n", conn->errstr);
            exit(1);
        } else {
            printf("cannot alloc redis context\n");
            exit(1);
        }
    }

    // auth
    reply = redisCommand(conn, "AUTH %s", password);
    printf("auth is %s\n", reply->str);
    freeReplyObject(reply);

    // set
    reply = redisCommand(conn, "set %s %s", "name", "hello world");
    printf("set is %s\n", reply->str);
    freeReplyObject(reply);

    // get
    reply = redisCommand(conn, "get name");
    printf("name :%s\n", reply->str);
    freeReplyObject(reply);

    // free conn
    redisFree(conn);
    return 0;
}

编译: gcc connRedis.c -o connRedis  -I /usr/local/include/hiredis -lhiredis

这里用clion + cmake编译,运行。需要在CMakeList.txt中添加动态库hiredis

link_libraries(hiredis)
add_executable(connRedis.c connRedis)

 注意,link要放前面

posted on 2020-02-04 16:23  luckygxf  阅读(1278)  评论(0编辑  收藏  举报

导航