hiredis linux 编译,linux下的hiredis的安装和使用
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的安装和使用相关推荐
- linux编译环境下,华为LiteOS初体验(STM32F407)
linux编译环境下,华为LiteOS初体验(STM32F407) 1.概述 系统:Ubuntu22.04,linux版本号如下 Linux linux 5.15.0-40-generic #43-U ...
- hiredis linux 编译,Linux系统整合hiredis
hiredis文件在redis的deps文件夹中 进入deps文件夹中 运行将hiredis文件夹移动/usr/lib cp -r hiredis/ /usr/lib 进入/usr/lib/hired ...
- nuttx linux 编译,Linux下编译nuttx模拟系统
******************************************** 编译Linux系统下的可执行NUTTX系统: ******************************** ...
- linux 编译mysql_linux下编译MYSQL
本机环境:ubuntu12.04,fedora-17 MYSQL版本:5.5.28 CMAKE版本:2.8.9 一.下载最新版本的cmake,解压后编译安装. sudo ./configure --p ...
- 【linux】centos7下muduo库的安装
特别提醒:建议在普通用户模式下安装muduo库 普通用户模式下的centos7,安装muduo库需要给普通用户授权.授权方法采纳如下博客: https://www.cnblogs.com/mrcln/ ...
- nuttx linux 编译,linux下建立nuttx开发环境
1.安装ARM Toolchain.(也可以选择使用buildroot自己搭建开发环境,不过我在linux下使用ARM Toolchain觉得挺好用,官方的开发环境也能够比较好支持ARM Toolch ...
- mips linux 编译,Linux环境下mips-gcc编译
背景 在之后的学习中,需要在自己的mips架构cpu上编写一系列工具.不想使用mips汇编代码编写这些工具,希望使用c语言编写,并编译为mips机器语言.所以这次编译没有编译c库(不能使用自带的头文件 ...
- mp3lame linux 编译,Linux下使用FFmpeg将ogg转mp3
团队的小伙伴接到一个任务,要将几万个ogg转换成mp3格式,网络上的工具只支持一个一个转换,需要大量的人工去操作,很麻烦. 我突然想起来遥远的几年前,曾经使用过FFmpeg转换安卓上传的语音文件,想到 ...
- linux 编译 php7_Linux下编译安装PHP7
前言 PHP7性能大幅度的提升,是我们广大PHPer们的福音,感谢鸟哥等为PHP付出的人. 安装依赖 yum install libxml2 libxml2-devel curl curl-devel ...
最新文章
- 腾讯首位17级杰出科学家诞生:腾讯AI Lab负责人张正友
- 烂泥:nginx、php-fpm、mysql用户权限解析
- 三十一、深入Python中的正则表达式
- 服务器RAID技术及应用
- DBeaver 导出EXCEL文件
- asp.net mvc 性能测试工具 - Glimpse
- python入门第七章好友管理系统
- arc科学计算机在线应用使用,ArcMap字段计算器(Field Calculator)的妙用
- php post重复提交session,PHP加Session防止表单重复提交的解决方法
- 2019年税务师进行继续教育?
- J2EE的体系架构——J2EE
- Struts2拦截器-MethodFilterInterceptor
- 一步一步教你写股票走势图——分时图一(概述)
- IC卡卡面卡号如何写入
- 信息学奥赛一本通 1296:开餐馆(evd)
- 案例九:实现输出1~10中非4的倍数的数字。
- SpringBoot 项目单元测试
- flashwindow vb_VB6.0 加载ShockwaveFlash(flash)控件
- 基于STM32的智能枕头
- Flask 推理MXnet 模型时显存泄漏