我在Kali Linux 2019.4上使用以下命令安装了Redis服务器:

$ redisurl="http://download.redis.io/redis-stable.tar.gz"
$ curl -s -o redis-stable.tar.gz $redisurl
$ sudo su root
$ mkdir -p /usr/local/lib/
$ chmod a+w /usr/local/lib/
$ tar -C /usr/local/lib/ -xzf redis-stable.tar.gz
$ rm redis-stable.tar.gz
$ cd /usr/local/lib/redis-stable/
$ make && make install


然后在redis-cli上输入PING时,它会回复PONG

但是,当我在hiredis下使用以下C代码时,它会回复null

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

#include <hiredis/hiredis.h>

redisContext *c;
redisReply *reply;
void main() {

    c = redisConnect("127.0.0.1", 6379);
    reply = redisCommand(c,"PING");
    printf("PING: %s \n", reply->str);

}


输出:PING: (null)

有谁能够帮助我?

最佳答案

首先,您是否在正确的端口上在后台运行Redis作为服务?

我认为,如果您想从新事物入手,那么最好是从已经测试过的那些例子开始。而且,如果您再次遇到错误,则可能是您的Redis新贵并未真正完成。

请仔细查看以下链接,并更多注意这些示例:

https://github.com/redis/hiredis

https://github.com/redis/hiredis/tree/master/examples

希望对您有所帮助。

关于c - 来自hiredis命令对简单C代码的空答复,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59254106/

10-15 07:48