Я хочу знать, смогу ли я сохранить структуру C в redis. Но я не знаю, как его получить, потому что example.c в hiredis не упомянул об этом.
Я сохраняю структуру в Redis, используя бинарно-безопасную строку. И я получил + OK, что означает, что я сохранил это правильно.
Код сохранения здесь
...
reply = redisCommand(c, "HMSET %s stat %b", rcvgetattr.pathname, sndgetattr.stbuf, sizeof(struct stat));
printf("Save status %s\n", reply->str);//that shows +OK
freeReplyObject(reply);
А потом, когда я пытаюсь вернуть свои данные, я использую
...
reply = redisCommand(c, "HMGET %s stat", rcvgetattr.pathname);
printf("status %s\n", reply->str);
freeReplyObject(reply);
Поскольку я не знаю, какая часть содержит мою структуру, я использую gdb и пытаюсь выяснить это. Я использую такие команды, как disp (struct stat)reply->str
или disp (struct stat)reply->element->str
, чтобы узнать, совпадают ли данные с только что сохраненными. Но я потерпел неудачу.
Кто-нибудь знает, где хранятся его данные?