【Redis】安装redis-plus-plus

时间:2024-10-03 07:30:30

目录

安装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-plus

mkdir 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编译程序

编译程序的时候,需要引入库文件

  1. redis++自己的静态库
  2. hiredis的静态库
  3. 线程库 

查找对应库的路径方法如下:

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

结果如下: