博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux 下的hiredis的简单安装、测试*(转)
阅读量:6327 次
发布时间:2019-06-22

本文共 1776 字,大约阅读时间需要 5 分钟。

上一章介绍的是如何安装Redis以及在Redis客户端上进行简单测试,但是我们一般安装完Redis之后,都是要结合编程语言对其进行应用的,hiredis是redis开源库对外发布的客户端API包,这一章将讲解如何安装hiredis以及编写简单的测试程序进行测试。

首先进入进行包的下载:

进入到下载页面,点击最新版本的tar.gz包进行下载,接下来的过程和安装Redis完全一样

1、解压:tar -zxvf hiredis-0.13.3.tar.gz

2、编译:make

3、安装:make install

4、新建一个文件夹RedisTest:mkdir RedisTest

5、新建一个RedisTest.c文件:vim RedisTest.c

6、在此文件中输入相关代码:

 

#include 
#include
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 = (redisReply*)redisCommand(conn,"set foo 1234"); freeReplyObject(reply); reply = redisCommand(conn,"get foo"); printf("%s\n",reply->str); freeReplyObject(reply); redisFree(conn); return 0;}

  

官网上面也有较为详细的教程:

 

执行编译命令:gcc -o  RedisTest RedisTest.c -L/usr/local/lib/ -lhiredis

得到可运行文件RedisTest,输入指令:./RedisTest,运行该文件得到结果:1234

如果遇到:error while loading shared libraries: libhiredis.so.0.13: cannot open shared object file: No such file or directory这样的错误,即动态库无法加载,我们可以这样做:

1、在/etc/ld.so.conf.d/目录下添加usr-libs.conf文件:vim /etc/ld.so.conf.d/usr-libs.conf

2、在文件中添加内容:/usr/local/lib

3、退出文本编译::wq

4、更新动态库配置:/sbin/ldconfig

补:如果是在eclipse平台进行代码编译与运行,那么上述测试代码在编译阶段可能出现如下错误:

只要把代码:

 

reply = redisCommand(conn,"get foo");

替换成:

 

 

reply = (redisReply*)redisCommand(conn,"get foo");

就可以了

 

如果出现如下错误:

 

undefined reference to `redisConnect'undefined reference to `redisCommand'undefined reference to `freeReplyObject'undefined reference to `redisCommand'undefined reference to `freeReplyObject'undefined reference to `redisFree'

  

则右键项目->Properties->C/C++ Build->Settings->Tool Settings->Libraries,添加Libraries:

 

在弹出窗口输入hiredis并确定

操作完成之后,目录下出现hiredis库:

重新编译之后,编译成功:

运行得到结果:1234

你可能感兴趣的文章
关于ls vim查看中文乱码问题
查看>>
FileReader读取文件编码丢失问题(乱码)
查看>>
国内DNS方面的技术力量
查看>>
ORACLE排错记录
查看>>
我热爱编程,但我讨厌这个行业
查看>>
alwayson高可用性组
查看>>
都是编译器惹的祸
查看>>
文件权限
查看>>
route命令
查看>>
用 cgroups 管理 cpu 资源
查看>>
MySQL各版本特性及其价格
查看>>
11g新特性:RDBMS Component TRACE
查看>>
jquery 修改排序
查看>>
Iterator接口
查看>>
嵌入式开发的学习步骤及入门
查看>>
决心书
查看>>
Oracle 基础篇 --- B树索引内部结构
查看>>
centos7 Tab键之后yum不自动补全解决
查看>>
RTB价格加解密
查看>>
day13-LNMP、FASTCGI
查看>>