【Redis】安装redis-plus-plus
目录
安装redis-plus-plus
安装hiredis
安装redis-plus-plus本体
具体步骤
编辑编写一个hello程序
安装redis-plus-plus
C++操作redis的第三方库有很多,咱们此处使用redis-plus-plus,安装链接如下:
GitHub - sewenew/redis-plus-plus: Redis client written in C++https://github.com/sewenew/redis-plus-plus
安装hiredis
但在安装redis-plus-plus之前,我们需要先安装hiredis,因为redis-plus-plus依赖了hiredis(C语言的redis客户端库),如下是hiredis源码安装:
git clone https://github.com/redis/hiredis.git
cd hiredis
make
make install
在Linux中可以使用包管理其直接安装
Ubuntu
apt install libhiredis-dev
Centos
yum install hiredis-devel.x86_64
安装redis-plus-plus本体
redis-plus-plus本体,只能编译安装,使用编译安装ubuntu会比centos方便很多
Centos
Centos自带的cmake版本较低,需要先安装cmake3
yum install cmake3
然后使用cmake3构建项目
cd redis-plus-plus
mkdir build //创建一个build目录是为了让编译生成的临时文件都放到这里,避免污染源代码目录
cd build
cmake3 ..
make
make install
构建成功后,会在/usr/local/include/中多出sw目录,并且内部包含redis-plus-plus一系列头文件,会在/usr/local/lib/中多出一系列libredis库文件
Ubuntu
安装cmake
apt install cmake
具体步骤
git clone https://github.com/sewenew/redis-plus-plus.git
cd redis-plus-plusmkdir build
cd build
cmake .. //生成makefile,此处..指向CMakeLists.txt文件所在的目录
make
make install //把刚才的库拷贝到系统目录
redis-plus-plus的头文件路径
root@VM-24-2-ubuntu:~# cd /usr/local/include/sw/redis++/
redis++.h
动态库文件路径
/usr/local/lib/libredis++.a
端口号6379是redis服务器默认的端口号,可以通过netstat命令查看
编写一个hello程序
hello.cc
#include <sw/redis++/redis++.h>
#include <vector>
#include <string>
#include <unordered_map>
#include <iostream>
using std::cout;
using std::endl;
using std::vector;
using std::string;
using std::unordered_map;
int main()
{
//创建一个redis对象,需要在构造函数中指定redis服务器的地址和端口,这里因为redis的服务器和客户端在一台机器上
//使用localhost,6379
sw::redis::Redis redis("tcp://127.0.0.1:6379");
//调用ping方法,让客户端给服务器发了一个PING,然后服务器就会返回一个PONG,就通过返回值获取到
string results=redis.ping();
std::cout<<results<<std::endl;
return 0;
}
使用Malefile编译程序
编译程序的时候,需要引入库文件
- redis++自己的静态库
- hiredis的静态库
- 线程库
查找对应库的路径方法如下:
root@VM-24-2-ubuntu:~# find /usr/ -name libhiredis*
/usr/lib/x86_64-linux-gnu/libhiredis.a
/usr/lib/x86_64-linux-gnu/libhiredis.so
/usr/lib/x86_64-linux-gnu/libhiredis.so.0.14
/usr/share/doc/libhiredis0.14
/usr/share/doc/libhiredis-dev
Makefile:
hello::hello.cc
g++ -std=c++17 -o $@ $^ /usr/local/lib/libredis++.a /usr/lib/x86_64-linux-gnu/libhiredis.a -pthread
.PHONY:clean
clean:
rm hello
结果如下: