linux下C++连接redis
Posted luffy5459
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下C++连接redis相关的知识,希望对你有一定的参考价值。
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
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的库。
贴上编译运行结果截图:
以上是关于linux下C++连接redis的主要内容,如果未能解决你的问题,请参考以下文章
在 Mac 中使用 SWIG for Python 的 C++ 最小示例
如何在 Mac OS 上为 Python 包“从源代码”安装 C++ 依赖项?