• 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
    ");
    //        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
    ", conn->errstr);
                exit(1);
            } else {
                printf("cannot alloc redis context
    ");
                exit(1);
            }
        }
    
        // auth
        reply = redisCommand(conn, "AUTH %s", password);
        printf("auth is %s
    ", reply->str);
        freeReplyObject(reply);
    
        // set
        reply = redisCommand(conn, "set %s %s", "name", "hello world");
        printf("set is %s
    ", reply->str);
        freeReplyObject(reply);
    
        // get
        reply = redisCommand(conn, "get name");
        printf("name :%s
    ", 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要放前面

  • 相关阅读:
    按回车键提交表单
    Access数据库类型及属性
    Problem 1002
    问题 1003
    Problem 1003
    Switch Game(摘自LP学C++)
    1006
    膜拜蛇形矩阵
    A == B?
    Rectangles
  • 原文地址:https://www.cnblogs.com/luckygxf/p/12259877.html
Copyright © 2020-2023  润新知