#include <stdio.h>
#include <stdlib.com
#include <hiredis/hiredis.h>
int main() {
// 连接到Redis服务器
redisContext *c = redisConnect("127.0.0.1", 6379);
if (c != NULL && c->err) {
printf("连接错误: %s\n", c->errstr);
// 连接错误处理
return 1;
}
// 使用Redis的HASH结构存储用户信息
const char *hash_key = "user:1000";
redisReply *reply;
// HSET命令:存储用户属性
reply = redisCommand(c, "HSET %s %s %s %s %s", hash_key,
"username", "alice",
"email", "alice@example.com",
"password", "secret");
freeReplyObject(reply);
// HGETALL命令:获取用户的所有属性
reply = redisCommand(c, "HGETALL %s", hash_key);
if (reply->type == REDIS_REPLY_ARRAY) {
for (size_t i = 0; i < reply->elements; i += 2) {
printf(" %s: %s\n", reply->element[i]->str, reply->element[i+1]->str);
}
}
freeReplyObject(reply);
// 关闭连接
redisFree(c);
return 0;
}
这段代码展示了如何使用C语言和Redis的C API来操作Redis的HASH结构。它首先连接到Redis服务器,然后使用HSET命令存储用户信息,并使用HGETALL命令检索这些信息。代码简洁,注重于展示核心功能,并提供了错误处理。