C 连接示例

最近更新时间:2022-12-01 16:10:44

我的收藏
运行前必备: 下载并安装 hiredis
示例代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include <hiredis.h>

int main(int argc, char **argv) {
unsigned int j;
redisContext *c;
redisReply *reply;

if (argc < 4) {
printf("Usage: 192.xx.xx.195 6379 instance_id password\\n");
exit(0);
}
const char *hostname = argv[1];
const int port = atoi(argv[2]);
const char *instance_id = argv[3];
const char *password = argv[4];


struct timeval timeout = { 1, 500000 }; // 1.5 seconds
c = redisConnectWithTimeout(hostname, port, timeout);
if (c == NULL || c->err) {
if (c) {
printf("Connection error: %s\\n", c->errstr);
redisFree(c);
} else {
printf("Connection error: can't allocate redis context\\n");
}
exit(1);
}

/* AUTH */
reply = redisCommand(c, "AUTH %s", password);
printf("AUTH: %s\\n", reply->str);
freeReplyObject(reply);

/* PING server */
reply = redisCommand(c,"PING");
printf("PING: %s\\n", reply->str);
freeReplyObject(reply);

/* Set a key */
reply = redisCommand(c,"SET %s %s", "name", "credis_test");
printf("SET: %s\\n", reply->str);
freeReplyObject(reply);

/* Try a GET */
reply = redisCommand(c,"GET name");
printf("GET name: %s\\n", reply->str);
freeReplyObject(reply);

/* Disconnects and frees the context */
redisFree(c);

return 0;
}
运行结果