1、linux下如何安装hiredis

1)下载地址

https://github.com/redis/hiredis

2)编译和安装

解压后的文件夹执行 make;make install;

3)头文件包含

include

4)编译选项

makefile文件中加入    LDFLAGS = -lhiredis

2、主要结构

主要关注2个结构体,

1)redisContext

//对应与redis的连接

/* Context for a connection to Redis */

typedef struct redisContext {

int err; /* Error flags, 0 when there is no error */

char errstr[128]; /* String representation of error when applicable */

int fd;

int flags;

char *obuf; /* Write buffer */

redisReader *reader; /* Protocol reader */

enum redisConnectionType connection_type;

struct timeval *timeout;

struct {

char *host;

char *source_addr;

int port;

} tcp;

struct {

char *path;

} unix_sock;

} redisContext;2)redisReply

//对应redis命令的回复结果

/* This is the reply object returned by redisCommand() */

typedef struct redisReply {

int type; /* REDIS_REPLY_* */

long long integer; /* The integer when type is REDIS_REPLY_INTEGER */

int len; /* Length of string */

char *str; /* Used for both REDIS_REPLY_ERROR and REDIS_REPLY_STRING */

size_t elements; /* number of elements, for REDIS_REPLY_ARRAY */

struct redisReply **element; /* elements vector for REDIS_REPLY_ARRAY */

} redisReply;2、主要接口

主要有4个接口,

1)redisContext* redisConnect(const char *ip, int port)

//连接redis。

2)void *redisCommand(redisContext *c, const char *format, ...);

//执行redis操作命令

3)void freeReplyObject(void *reply);

//释放执行redis操作命令回复的内存

4)void redisFree(redisContext *c);

//释放连接上下文。 3、异常处理 主要4种异常情况会出现, 1)获得的redisContext指针为null    异常处理办法:再次尝试与redis建立新的连接上下文。 2)获得的redisContext指针err不为0    异常处理办法:再次尝试与redis建立新的连接上下文。 3)获得的redisReply指针为null    异常处理办法:断开redis连接再次与redis建立连接并尝试执行命令。 4)获得的reply指针的type不是期望的类型,    异常处理办法:断开redis连接再次与redis建立连接并尝试执行命令。 至此hiredis了解完毕,接下来就可以在其他模块中调用了。

hiredis linux 编译,linux下的hiredis的安装和使用相关推荐

  1. linux编译环境下,华为LiteOS初体验(STM32F407)

    linux编译环境下,华为LiteOS初体验(STM32F407) 1.概述 系统:Ubuntu22.04,linux版本号如下 Linux linux 5.15.0-40-generic #43-U ...

  2. hiredis linux 编译,Linux系统整合hiredis

    hiredis文件在redis的deps文件夹中 进入deps文件夹中 运行将hiredis文件夹移动/usr/lib cp -r hiredis/ /usr/lib 进入/usr/lib/hired ...

  3. nuttx linux 编译,Linux下编译nuttx模拟系统

    ******************************************** 编译Linux系统下的可执行NUTTX系统: ******************************** ...

  4. linux 编译mysql_linux下编译MYSQL

    本机环境:ubuntu12.04,fedora-17 MYSQL版本:5.5.28 CMAKE版本:2.8.9 一.下载最新版本的cmake,解压后编译安装. sudo ./configure --p ...

  5. 【linux】centos7下muduo库的安装

    特别提醒:建议在普通用户模式下安装muduo库 普通用户模式下的centos7,安装muduo库需要给普通用户授权.授权方法采纳如下博客: https://www.cnblogs.com/mrcln/ ...

  6. nuttx linux 编译,linux下建立nuttx开发环境

    1.安装ARM Toolchain.(也可以选择使用buildroot自己搭建开发环境,不过我在linux下使用ARM Toolchain觉得挺好用,官方的开发环境也能够比较好支持ARM Toolch ...

  7. mips linux 编译,Linux环境下mips-gcc编译

    背景 在之后的学习中,需要在自己的mips架构cpu上编写一系列工具.不想使用mips汇编代码编写这些工具,希望使用c语言编写,并编译为mips机器语言.所以这次编译没有编译c库(不能使用自带的头文件 ...

  8. mp3lame linux 编译,Linux下使用FFmpeg将ogg转mp3

    团队的小伙伴接到一个任务,要将几万个ogg转换成mp3格式,网络上的工具只支持一个一个转换,需要大量的人工去操作,很麻烦. 我突然想起来遥远的几年前,曾经使用过FFmpeg转换安卓上传的语音文件,想到 ...

  9. linux 编译 php7_Linux下编译安装PHP7

    前言 PHP7性能大幅度的提升,是我们广大PHPer们的福音,感谢鸟哥等为PHP付出的人. 安装依赖 yum install libxml2 libxml2-devel curl curl-devel ...

最新文章

  1. 腾讯首位17级杰出科学家诞生:腾讯AI Lab负责人张正友
  2. 烂泥:nginx、php-fpm、mysql用户权限解析
  3. 三十一、深入Python中的正则表达式
  4. 服务器RAID技术及应用
  5. DBeaver 导出EXCEL文件
  6. asp.net mvc 性能测试工具 - Glimpse
  7. python入门第七章好友管理系统
  8. arc科学计算机在线应用使用,ArcMap字段计算器(Field Calculator)的妙用
  9. php post重复提交session,PHP加Session防止表单重复提交的解决方法
  10. 2019年税务师进行继续教育?
  11. J2EE的体系架构——J2EE
  12. Struts2拦截器-MethodFilterInterceptor
  13. 一步一步教你写股票走势图——分时图一(概述)
  14. IC卡卡面卡号如何写入
  15. 信息学奥赛一本通 1296:开餐馆(evd)
  16. 案例九:实现输出1~10中非4的倍数的数字。
  17. SpringBoot 项目单元测试
  18. flashwindow vb_VB6.0 加载ShockwaveFlash(flash)控件
  19. 基于STM32的智能枕头
  20. Flask 推理MXnet 模型时显存泄漏

热门文章

  1. 3D Human Pose Estimation with 2D Marginal Heatmaps
  2. 2.2.2 定点数的移位运算
  3. 【Tools/macOS系列】iPad作为扩展显示屏的几种解决方案
  4. Linux常用命令(4)-磁盘管理
  5. stm32利用TOFSense模块测距教程
  6. 达梦数据库DM8(一):新建数据库实例
  7. Admin Lite v3.1 - PHP 管理面板 + 用户管理
  8. win7声卡驱动不能安装和系统激活完美解决方案
  9. 【项目精选】银行柜员业务绩效考核系统的设计与实现
  10. 从零基础如何自学 UI 设计?