当前位置: 首页 > news >正文

【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++icon-default.png?t=O83Ahttps://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

结果如下:

相关文章:

  • Linux:文件描述符详解
  • PHP视频活体检测API接口示例-视频活体检测引领身份验证新潮流
  • 一个PDF样本册免费上传网站
  • Android13中Android.mk和Android.bp预编译多种架构文件
  • 碳纳米管成核过程中 subsurface carbide
  • Redis实战篇
  • 智能工厂的设计软件 设计目标:关乎对象的实践法则的认识论原则
  • 国产数据库盘点-亚信安慧AntDB独立模式部署
  • C++--类型转换
  • 【小bug】使用 RestTemplate 工具从 JSON 数据反序列化为 Java 对象时报类型转换异常
  • HTTP(超文本传输协议)基础
  • 从kafka和zookeeper中获取生产和消费偏移量
  • 手机也可以更换任意IP地址吗?
  • 【FasAPI】使用FastAPI来实现一个基于RBAC(基于角色的访问控制)的用户权限控制系统
  • Mysql之索引优化
  • 如意与葫芦:解读八卦福·门牌中的吉祥元素
  • K8s Calico替换为Cilium,以及安装Cilium过程(鲁莽版)
  • 嵌入式项目:STM32平衡车详解 (基础知识篇) (基于STM32F103C8T6)
  • Pytest-allure如何在测试完成后自动生成完整报告?
  • CVE-2024-46101
  • 五粮液董事长:茅台1935已脱离千元价位带,五粮液在千元价位已逐步摆脱其他竞品纠缠
  • 明星同款撕拉片,为何能炒到三四百一张?
  • 欧洲史上最严重停电事故敲响警钟:能源转型如何保证电网稳定?
  • 陕西永寿4岁女童被蜜蜂蜇伤致死,当地镇政府介入处理
  • 经济日报整版聚焦“妈妈岗”:就业路越走越宽,有温度重实效
  • 正荣地产:董事会主席、行政总裁辞任,拟投入更多精力推动境内债重组等工作