Linux 下的hiredis的简单安装、测试*(转)
上一章介绍的是如何安装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的简单安装、测试*(转)的更多相关文章
- linux下jenkins学习之简单安装
前提:安装包从官网获取https://pkg.jenkins.io/redhat-stable/jenkins-2.7.4-1.1.noarch.rpm 1.在线下载 Sudo -O wget htt ...
- linux下各安装包的安装方法
<转>linux下各安装包的安装方法 一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root ...
- linux下搭建lamp环境以及安装swoole扩展
linux下搭建lamp环境以及安装swoole扩展 一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源 我安装的环境是:apache2.2.15+mysql5 ...
- (转)linux下weblogic12c集群的安装部署
本文介绍linux下weblogic12c集群的安装部署,版本12c,其他版本操作会有所不同,但其大体操作基本都是一样的 关于weblogic的集群,在此就不多做介绍了,如果有不了解的朋友可以百度搜索 ...
- Linux下通过源码编译安装程序
本文简单的记录了下,在linux下如何通过源码安装程序,以及相关的知识.(大神勿喷^_^) 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件: ...
- Linux下非root用户如何安装软件
Linux下非root用户如何安装软件 从windows转移到Linux的用户最开始总会有各种不适,因为这种不适最终放弃linux的不在少数.对于这类人只能说可惜,还没有领略到linux的美好就过早放 ...
- Linux下tomcat6.0与jdk安装
Linux下tomcat6.0与jdk安装 步骤如下: 1. 上传apache-tomcat-6.0.37.tar.gz和jdk-6u13-linux-i586.bin至/usr/local 给这两个 ...
- linux下Redis与phpredis扩展安装
++++++++++++++++++++++++++++++++++++++++++++++linux下Redis与phpredis扩展安装++++++++++++++++++++++++++++++ ...
- LINUX下中文语言包的安装(转)
在安装盘上已经有各种语言包了,我们只需要找到他们,并安装就可以了.中文的是fonts-chinese-3.02-9.6.el5.noarch.rpmfonts-ISO8859-2-75dpi-1.0- ...
随机推荐
- Linux中Sed的用法
Linux中Sed的用法 sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为: ...
- 一个简单的C/S事例——JAVA-Socket
TalkClient.java import java.io.*; import java.net.*; public class TalkClient { public static void ma ...
- SQL Server从BAK文件还原新的数据库
同一个数据库多个副本 很多时候,比如为了方便测试,排查问题,我们常常会拿到问题系统的数据库备份来开发环境下debug,这个时候就会出现同一个数据库的多个副本. 还原法 还原到一个新建的空数据库,在选项 ...
- Hibernate学习笔记二:常用映射配置
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6760895.html 一:单向一对一 常用唯一外键的方法来配置单向一对一关系. 1:实体关系 类A中有类B对象 ...
- Ubuntu下安装LXC手记之centos
宿主环境 Ubuntu 14.04 LTS 安装LXC $ sudo apt-get install lxc 安装完毕之后,运行lxc-checkconifg工具,检查当前Linux内核支持LXC的情 ...
- SQL Server connect to MySQL SQL Server通过LinkServer访问MySQL数据库,并操作mysql数据库代码
SQL Server 中需要访问MySQL的数据,可以通过调用MySQL的ODBC驱动,在SQL Server中添加LinkServer的方式实现. 1.从MySQL网站下载最新的MySQL ODBC ...
- http://blog.csdn.net/u011277123/article/details/53665302
导读:Oracle中,除Exp命令可进行一般的全库.全用户导出外,还可通过增加相关参数条件实现对部分库表或数据的导出. 测试环境 在如下图的测试环境中,当前登录用户名为“jck”,该用户下有200多张 ...
- mysql取电话号码的后四位字符
SELECT id, RIGHT (phone,4) from user where id= 'xxxxxx'
- SpannableStringUtil实现丰富文字效果
代码地址如下:http://www.demodashi.com/demo/15007.html 前言 在android开发中,我们不免会用到 TextView 的各种显示效果,如字体样式,颜色,大小, ...
- k8s oomkilled超出容器的内存限制
超出容器的内存限制 只要节点有足够的内存资源,那容器就可以使用超过其申请的内存,但是不允许容器使用超过其限制的 资源.如果容器分配了超过限制的内存,这个容器将会被优先结束.如果容器持续使用超过限制的内 ...