Я хочу вставить данные в Redis в C. Я нашел hiredis библиотека.
Я написал пример:
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 = (redisReply *)redisCommand(c, "AUTH 123456");if(reply->type==5)
{
reply = (redisReply *)redisCommand(c,"SET %d %d",32,111);
freeReplyObject(reply);
reply = (redisReply *)redisCommand(c,"GET %d",32);
printf("%s\n",reply->str);
int ii = redisAppendCommand(c,"SADD %d %d",32,33);// MY PROBLEM IS HERE
printf("-------SADD---------------- %d\n",ii);
Я не знаю, как использовать команду SADD. Пожалуйста, помогите мне.
Правильный ответ
redisReply *rreply;
char buffer[4096];
sprintf(buffer,"%u,%u,%u,%u,%s,%u,%d", 1,2,3,4,"HI",5,6);
redisAppendCommand(c,"SADD %s %s","slog1",buffer);
redisGetReply(c,(void**)rreply);
Сначала ключ, я должен использовать эту команду redisAppendCommand.
второй ключ — это команда redisAppendCommand, которая вставляет его в буфер только после этой команды. Я должен использовать эту команду redisGetReply, чтобы сделать ее постоянной.
Других решений пока нет …