1

关于 Hiredis for C,我有以下几个问题:

我在某处读到hiredis 不做连接池。是否有任何可用于hiredis 的库来进行连接池,或者可以替代具有连接池的hiredis。

对于其他问题,我将在下面给出背景:

在代码中,我计划在应用程序停止之前一直使用相同的上下文,不知道这是正确的方法以及这样做的复杂性是什么。如果我做错了什么,请纠正我。我想做的方式是,该应用程序一旦启动就会分叉几个孩子。我将在子初始化中创建上下文并将其用于进程服务的所有请求。此外,我可以检查回复redisCommand并尝试重新连接:

reply = redisCommand(c,"set %s %s","key","value");
    if(reply == NULL)
    {
        printf("Connection error.\n");
        c = redisConnect(hostname,port);
        // checks

    }

**问:**如何检查上下文是否仍然有效,意味着连接没有丢失?我REDIS_CONNECTED在hiredis.h 中看到,但不确定这是否能说明这一点。我在创建打印 2 的上下文后打印了这个变量,然后我停止了数据库,但它仍然打印了 2 并且程序出现了段错误。hiredis 是否处理重新连接。

编辑: 我不是 C 方面的专家,如果我能从中获得一些有用的链接,我可以学习如何在 C 中创建和使用连接池,我将不胜感激。

谢谢

4

0 回答 0