使用hiredis接口(Synchronous API)编写redis客户端

xiaoxiao2021-02-28  12

本文主要介绍hiredis的相关知识,以及使用hiredis接口(Synchronous API)编写redis客户端的方法。

1. hiredis概述

源自github上的描述:

Hiredis is a minimalistic C client library for the Redis database.

2. demo编写

使用hiredis的Synchronous API接口编写redis的客户端,通常需要调用以下几个函数:

redisContext *redisConnect(const char *ip, int port);         // 建立redis连接 void *redisCommand(redisContext *c, const char *format, ...);  // 执行redis命令 void freeReplyObject(void *reply);                             // 释放redis命令的返回内容

2.1 示例代码

一个完整的示例代码(hiredis_syncAPI.cpp)如下:

#include <iostream> #include "hiredis/hiredis.h" using namespace std; int main() { // 建立redis连接 redisContext *c = redisConnect("192.168.213.133", 6379); if ((c == NULL) || (c->err)) { if (c) { cout << "Error: " << c->errstr << endl; // 释放redis连接 redisFree(c); return -1; } else { cout << "Can't allocate redis context." << endl; return -1; } } else { cout << "Connected to Redis." << endl; } redisReply *reply; // 添加数据 reply = (redisReply *)redisCommand(c, "SET zs zhanshi"); cout << "SET reply is: " << reply->str << endl; freeReplyObject(reply); // 查询数据 reply = (redisReply *)redisCommand(c, "GET zs"); cout << "GET reply is: " << reply->str << endl; freeReplyObject(reply); // 释放redis连接 redisFree(c); return 0; }

2.2 编译redis客户端

执行下面的命令编译上述代码,生成redis客户端:

g++ -o hiredis_syncAPI hiredis_syncAPI.cpp -lhiredis

2.3 测试redis客户端

 

 

2.3.1 启动redis服务器

我们在主机(IP地址为192.168.213.133)上打开redis服务器,该redis服务器监听对于192.168.213.133的连接,如下:

[root@node1 /opt/liitdar/hiredis]# redis-server /etc/redis.conf

2.3.2 启动redis客户端

在另外一台主机(IP地址为192.168.213.131)上运行前面编译生成的redis客户端“hiredis_syncAPI”,如下:

./hiredis_syncAPI

2.3.3 观察测试结果

正常情况下,我们编写的客户端能够连接到redis服务器,并执行指定的redis命令,如下:

如果运行redis客户端的终端中出现上述信息,说明我们的编写的redis客户端运行成功了。

 

转载请注明原文地址: https://www.6miu.com/read-1900071.html

最新回复(0)