问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

centos为什么安装libhiredis-dev

发布网友 发布时间:2022-04-30 17:07

我来回答

1个回答

热心网友 时间:2022-06-28 03:44

1、linux下如何安装hiredis
1)下载地址
https://github.com/redis/hiredis
2)编译和安装
解压后的文件夹执行 make;make install;
3)头文件包含
include <hiredis/hiredis.h>
4)编译选项
makefile文件中加入 LDFLAGS = -lhiredis
2、主要结构
主要关注2个结构体,
1)redisContext
//对应与Redis的连接

[cpp] view plain copy
/* 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命令的回复结果

[cpp] view plain copy
/* 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了解完毕,接下来就可以在其他模块中调用了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
可以提前退出“三支一扶”计划吗 能提前退出“三支一扶”计划吗 绒沙金礼品制作工艺 什么叫绒沙金 榖皮巾的意思是什么 IPOD新版本安装会不会影响内存 我的是ipod 4 8G的,我下载了东西以后发现内存是占了,但是显示不出来东西... 为什么我的IPOD下载程序只用了4G却显示用了6.4G 间谍过家家阿尼亚表情包汇总(间谍过家家阿尼亚次子) 关于"化物语"中的女主 战场原黑仪(戦场ヶ原ひたぎ)的1440*900宽屏壁纸... 荣耀V30性能怎么样?是双模5G吗? 如何在系统安装ARGB centos7 怎么安装python-dev 华为荣耀v30,vivox30,这两个手机都是5g手机吗,综合是哪个好呀? 荣耀v30 pron是真5g吗? centos怎么安装 libjpeg-dev 韩式婚纱照跟欧式婚纱照的风格有什么区别呢? 韩式婚纱照的风格 StarUML画uml图时类名和用例名冲突怎么办 在腾讯问卷中如何打乘号 求问!腾讯问卷已经发布的问卷还能再进行编辑么? 腾讯问卷可以看到位置吗 腾讯企鹅问卷测评怎么找? 腾讯问卷提交后自己可以查看吗 用鲲鹏展翅,嫦娥奔月和九天揽月造一段话 怎么写快乐的元旦庆疃詈玫男⊙年级西关小学的曰记100字 用鲲鹏展翅,九天揽月造句 腾讯问卷怎么注销 鲲鹏展翅、九天揽月、嫦娥奔月、画蛇添足与神话故事无关的是什么? 元旦节的由来100字左右? centos怎么安装libhiredis-dev 为什么我的根目录挂载点是/dev/mapper/centos-root linux系统安装qt时出现很基础的问题,关于包依赖问题。我用的centos. centos 系统有多个内核,修改默认启动内核 sudo apt-get install libgflags-dev 在centos应执行哪一句 荣耀V30 5G技术支持什么模式? centos安装kvm之后dev里面没有kvm Centos 如何下载libglew-dev 品牌和营销的关系 推销,销售,营销,品牌之间的关系 有人知道 品牌与营销有什么关系? 详细的 ,不要百度的,谢谢 品牌和营销有啥区别? 广告、品牌及营销三者之间的关系。 销售与品牌的关系? 品牌战略与营销、广告是什么关系?担任品牌总监很长时间了。若搞不清清楚这个问题,简直无法开展工作? 品牌战略与营销战略、广告战略等的关系是什么样的? 网络营销与品牌营销的关系是什么 品牌战略、文化战略、营销战略是怎样的关系 如何理解SEO优化、品牌营销、口碑营销三者的关系呢? 为什么“创新”是寻求品牌与营销之间的平衡?