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

【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

结果如下:


http://www.kler.cn/news/323775.html

相关文章:

  • Trick : pair 的二分问题
  • mariadb无法存储中文
  • Colorful/七彩虹将星X17 AT 22 Win11原厂OEM系统 带COLORFUL一键还原
  • 今年Java回暖了吗
  • 根据标签实现CD
  • HJ50-四则运算:栈的运用、中缀表达式转后缀表达式并计算结果
  • C++(9.26)
  • FastReport时间格式化(含判空)
  • Python办公自动化之Word
  • 探索未来:MultiOn,AI的下一个革命
  • 示例说明:elasticsearch实战应用
  • 等保托管怎么样,流程是什么样的?
  • 弹性盒模型关键几个点:
  • 【SQL】总结Select语句中用来连接字符串的方法
  • 万字长文详解FreeRTOS软件定时器
  • 机器学习:opencv--特征检测
  • 静态链接和动态链接的Golang二进制文件
  • 音视频入门基础:FLV专题(4)——使用flvAnalyser工具分析FLV文件
  • SQLI—LABS刷题 | SQL总结
  • QT:常用类与组件
  • Humans or LLMs as the Judge? A Study on Judgement Bias
  • Redis6.0.9配置redis集群
  • 银河麒麟高级服务器操作系统V10外接硬盘挂载指南
  • 关于el-card的height设置100%后, el-card内容超出高度后,内容被隐藏这件事
  • Tkinter制作登录界面以及登陆后页面切换--用户数据从数据库获取并进行合法性校验(二)
  • 【WPF】多屏幕展示
  • Flask学习之项目搭建
  • Linux上的C/C++编程
  • 【管理】销售管理到底应该怎么管?
  • uniapp 实现3d轮播图,也就是中间的放大两边的缩小 用swiper和swiper-item就能实现