最近需要使用 C++ 来访问 Redis,查找了一些开源 C/C++ Redis 客户端,发现 hiredis 目前的社区活跃度较高,且比较轻量级易上手,就决定选用这款客户端了。
安装
以 Mac OS 为例,说明如何安装 hiredis。
- 下载 hiredis 的代码
git clone https://github.com/redis/hiredis.git
- 编译安装
make
make install
第一个例子
下面的例子中,首先创建了一个连接 Redis 的实例,然后通过这个连接向 Redis 发送命令。取得 Redis 的返回后,需要记住将相关的返回对象和连接对象释放,避免资源的泄漏。
#include <stdio.h>
#include <hiredis/hiredis.h>
int main()
{
redisContext *conn = redisConnect("127.0.0.1", 6379);
if (conn != NULL && conn->err) {
printf("connection error: %s\n", conn->errstr);
return 0;
}
redisReply *reply;
reply = redisCommand(conn, "SET %s %s", "foo", "bar");
freeReplyObject(reply);
reply = redisCommand(conn, "GET %s", "foo");
printf("%s\n", reply->str);
freeReplyObject(reply);
redisFree(conn);
return 0;
}
写好代码后,我们对上面的代码进行编译。
gcc -o testhiredis testhiredis.c -L/usr/local/lib -lhiredis
其中的-L
参数指定 gcc 的库文件的搜索路径,在这里为/usr/local/lib
。/usr/local/lib
包含了 hiredis 的库文件。-l
参数则指明使用的库文件,-lhiredis
的意思即是搜索libhiredis.a
的库文件。libhiredis.a
实际上已安装在/usr/local/lib
目录下了,有兴趣的可以查证一下。
上面的程序执行结果为:
bar