评论

收藏

[C++] c连接redis

编程语言 编程语言 发布于:2021-08-07 11:28 | 阅读数:412 | 评论:0

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要放前面


关注下面的标签,发现更多相似文章