linux下c++连接redis,需要安装redis,同时还需要安装hiredis,hiredis是c++操作redis的api库。redis的安装这里不介绍了,很多教程。这里直接从hiredis安装说起。
1、下载hiredis,并解压。https://github.com/redis/hiredis
[root@server software]# wget https://github.com/redis/hiredis/archive/v0.14.0.tar.gz
[root@server software]# tar -xzf v0.14.0.tar.gz
[root@server software]# ls
hiredis-0.14.0 maven v0.14.0.tar.gz
[root@server software]# rm -f v0.14.0.tar.gz
[root@server software]# ls
hiredis-0.14.0 maven
[root@server software]# cd hiredis-0.14.0/
[root@server hiredis-0.14.0]# ls
adapters async.c CHANGELOG.md dict.c examples hiredis.c Makefile net.h read.h sdsalloc.h sds.h win32.h
appveyor.yml async.h COPYING dict.h fmacros.h hiredis.h net.c read.c README.md sds.c test.c
2、编译和安装hiredis,在hiredis解压目录下运行命令make,make install
![](https://img-blog.csdnimg.cn/20190221111724533.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZlaW5pZmk=,size_16,color_FFFFFF,t_70)
3、编写简单的代码:
main.cpp
#include <iostream>
#include <hiredis/hiredis.h>
using namespace std;
int main(){
redisContext *c = redisConnect("127.0.0.1",6379);
if(c->err){
redisFree(c);
cout<<"connect to redis fail"<<endl;
return 1;
}
cout<<"connect to redis success"<<endl;
redisReply *r = (redisReply*)redisCommand(c,"get name");
cout<<r->str<<endl;
return 0;
}
4、编译运行,在编译运行之前,我们需要启动redis,命令行连接redis,并设置键值name=hiredis
[root@server cppredis]# redis-cli
127.0.0.1:6379> set name hiredis
OK
127.0.0.1:6379> get name
"hiredis"
127.0.0.1:6379> exit
[root@server cppredis]# cat main.cpp
#include <iostream>
#include <hiredis/hiredis.h>
using namespace std;
int main(){
redisContext *c = redisConnect("127.0.0.1",6379);
if(c->err){
redisFree(c);
cout<<"connect to redis fail"<<endl;
return 1;
}
cout<<"connect to redis success"<<endl;
redisReply *r = (redisReply*)redisCommand(c,"get name");
cout<<r->str<<endl;
return 0;
}
[root@server cppredis]# ls
main.cpp
[root@server cppredis]# g++ -lhiredis -o main main.cpp
[root@server cppredis]# ls
main main.cpp
[root@server cppredis]# ./main
connect to redis success
hiredis
[root@server cppredis]#
这里唯一需要注意的,就是编译main.cpp时,需要加入-lhiredis参数,指定hiredis的库。
贴上编译运行结果截图:
![](https://img-blog.csdnimg.cn/20190221112215957.png)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)