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

首先进入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 <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 = (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

Linux 下的hiredis的简单安装、测试*(转)的更多相关文章

  1. linux下jenkins学习之简单安装

    前提:安装包从官网获取https://pkg.jenkins.io/redhat-stable/jenkins-2.7.4-1.1.noarch.rpm 1.在线下载 Sudo -O wget htt ...

  2. linux下各安装包的安装方法

    <转>linux下各安装包的安装方法   一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root ...

  3. linux下搭建lamp环境以及安装swoole扩展

    linux下搭建lamp环境以及安装swoole扩展   一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源  我安装的环境是:apache2.2.15+mysql5 ...

  4. (转)linux下weblogic12c集群的安装部署

    本文介绍linux下weblogic12c集群的安装部署,版本12c,其他版本操作会有所不同,但其大体操作基本都是一样的 关于weblogic的集群,在此就不多做介绍了,如果有不了解的朋友可以百度搜索 ...

  5. Linux下通过源码编译安装程序

    本文简单的记录了下,在linux下如何通过源码安装程序,以及相关的知识.(大神勿喷^_^) 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件: ...

  6. Linux下非root用户如何安装软件

    Linux下非root用户如何安装软件 从windows转移到Linux的用户最开始总会有各种不适,因为这种不适最终放弃linux的不在少数.对于这类人只能说可惜,还没有领略到linux的美好就过早放 ...

  7. Linux下tomcat6.0与jdk安装

    Linux下tomcat6.0与jdk安装 步骤如下: 1. 上传apache-tomcat-6.0.37.tar.gz和jdk-6u13-linux-i586.bin至/usr/local 给这两个 ...

  8. linux下Redis与phpredis扩展安装

    ++++++++++++++++++++++++++++++++++++++++++++++linux下Redis与phpredis扩展安装++++++++++++++++++++++++++++++ ...

  9. LINUX下中文语言包的安装(转)

    在安装盘上已经有各种语言包了,我们只需要找到他们,并安装就可以了.中文的是fonts-chinese-3.02-9.6.el5.noarch.rpmfonts-ISO8859-2-75dpi-1.0- ...

随机推荐

  1. Linux中Sed的用法

    Linux中Sed的用法 sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为: ...

  2. 一个简单的C/S事例——JAVA-Socket

    TalkClient.java import java.io.*; import java.net.*; public class TalkClient { public static void ma ...

  3. SQL Server从BAK文件还原新的数据库

    同一个数据库多个副本 很多时候,比如为了方便测试,排查问题,我们常常会拿到问题系统的数据库备份来开发环境下debug,这个时候就会出现同一个数据库的多个副本. 还原法 还原到一个新建的空数据库,在选项 ...

  4. Hibernate学习笔记二:常用映射配置

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6760895.html 一:单向一对一 常用唯一外键的方法来配置单向一对一关系. 1:实体关系 类A中有类B对象 ...

  5. Ubuntu下安装LXC手记之centos

    宿主环境 Ubuntu 14.04 LTS 安装LXC $ sudo apt-get install lxc 安装完毕之后,运行lxc-checkconifg工具,检查当前Linux内核支持LXC的情 ...

  6. SQL Server connect to MySQL SQL Server通过LinkServer访问MySQL数据库,并操作mysql数据库代码

    SQL Server 中需要访问MySQL的数据,可以通过调用MySQL的ODBC驱动,在SQL Server中添加LinkServer的方式实现. 1.从MySQL网站下载最新的MySQL ODBC ...

  7. http://blog.csdn.net/u011277123/article/details/53665302

    导读:Oracle中,除Exp命令可进行一般的全库.全用户导出外,还可通过增加相关参数条件实现对部分库表或数据的导出. 测试环境 在如下图的测试环境中,当前登录用户名为“jck”,该用户下有200多张 ...

  8. mysql取电话号码的后四位字符

    SELECT id, RIGHT (phone,4)  from user  where  id= 'xxxxxx'

  9. SpannableStringUtil实现丰富文字效果

    代码地址如下:http://www.demodashi.com/demo/15007.html 前言 在android开发中,我们不免会用到 TextView 的各种显示效果,如字体样式,颜色,大小, ...

  10. k8s oomkilled超出容器的内存限制

    超出容器的内存限制 只要节点有足够的内存资源,那容器就可以使用超过其申请的内存,但是不允许容器使用超过其限制的 资源.如果容器分配了超过限制的内存,这个容器将会被优先结束.如果容器持续使用超过限制的内 ...