我在 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
但是当我使用下面的 C 代码和 hiredis
时,它会回复 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:(空)
有人可以帮我吗?
最佳答案
首先,您是否在正确的端口上将 Redis 作为后台服务运行?
我认为如果你想从新事物开始,最好从那些已经测试过的例子开始。而且,如果您再次遇到错误,可能您的 Redis Upstart 还没有真正完成。
请仔细查看以下链接并多加注意这些示例:
https://github.com/redis/hiredis
https://github.com/redis/hiredis/tree/master/examples
希望对您有所帮助。
关于c - hiredis 命令对简单 C 代码的空回复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59254106/