使用hiredis的一些心得

Windows下使用hiredis的坑

1、Windows VS下编译hiRedis源码就不细说了,要注意一点的是后面项目使用库的时候,项目属性中代码生成的运行库的设置要跟库编译的时候设置的一致,如下图:
在这里插入图片描述
2、Win32_Interop.lib的冲突
Win32_Interop.lib和ws2_32.lib、wsock32.lib会有冲突,编译的时候会出现类似如下的错误,(LNK2005:htons已经在Win32_Interop.lib(Win32_FDAPI.obj)中定义)出现这样的原因是因为项目中已经使用了ws2_32.lib、wsock32.lib,htons在其中有定义,所以这几个库无法同同时使用。后面会介绍如何解决这个问题。

解决思路

由于使用Win32_Interop.lib和ws2_32.lib都是用静态库的链接,所以这样的错误基本没法解决,我们只能把hiredis库再进行一次封装,封装成动态库,重新定义接口出来,就能避免错误。

hiredis接口封装

根据项目需求,我们只要封装我们需要用到的接口。

	//连接redis服务器、参数服务器IP和认证
	int RedisConnect(const char *RedisIP, const char *auth);
	//推送消息到通道
	int RedisPublish(const char *channel, const char *msg);
	//往指定键值设置内容和超时时间
	int RedisSet(const char *key, const char *value, int timeout);
	//从指定键值获取消息
	int RedisGet(const char *key, string &str);
	//断开redis连接
	void RedisFree(void);

我根据需要值封装了以上几个接口,有需求再继续添加接口即可。

调用实例

#include "Redis.h"

#pragma comment(lib, "redisdll.lib")

int main()
{
	RedisConnect("127.0.0.1", "AUTH xmgps");
	
	string str;
	RedisSet("media", "abcd", 10);

	RedisFree();
    return 0;
}

下载

下载链接:https://download.csdn.net/download/qq_22633333/11996124

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值