来自hiredis 客户端的GET 调用不起作用

问题描述

我使用的是hiredis-1.0.0。在以下程序中:

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

int main(void) {
  redisContext *c = redisConnect("127.0.0.1",6379);
  if (c != NULL && c->err) {
    printf("Error: %s\n",c->errstr);   // handle error
  } else {
    printf("Connected to Redis\n");
  }
  redisReply *reply;
  reply = redisCommand(c,"SET %s %s","192.168.10.1","aditya.mohan@trial");
  freeReplyObject(reply);
  reply = redisCommand(c,"GET %s","192.168.10.1");
  printf("reply string is %s\n",reply->str);
  freeReplyObject(reply);
  redisFree(c);
  return 0;
}

SET 调用工作正常,因为它确实使用 redis 中的值设置了键,我通过 redis-cli 验证了这一点,但 GET 调用返回 null 。我无法调试它,因为它与hiredis 的官方 Git 存储库中提供的示例中的示例非常相似。

我用这个命令编译了这个:

gcc -g redissample.c -lhiredis -o redisexample

输出

Connected to Redis
reply string is (null)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)