【Redis】Linux下安装配置及通过C++访问Redis

文章目录

  • 一、Linux Centos 7.0版本下的安装及配置
  • 二、通过C++访问Redis


一、Linux Centos 7.0版本下的安装及配置

通过源来安装,此次安装的版本为 redis 5.0 的,要通过其他源进行安装,首先安装 scl 源

yum install centos-release-scl-rh

再安装 redis

yum install rh-redis5-redis

然后创建符号链接(软链接),默认安装路径不方便访问,通过软链接更方便访问
1)针对可执⾏程序设置符号链接

cd /usr/bin
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-server ./redis-server
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-sentinel ./redis-sentinel
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-cli ./redis-cli

2)针对配置文件设置符号链接

cd /etc/
ln -s /etc/opt/rh/rh-redis5/ ./redis

再来是修改配置文件
首先进入目录 /etc/redis

cd /etc/redis

如下图红框内的是 redis 的配置文件
在这里插入图片描述
可以使用 vim 进入修改

vim redis.conf

接着按如下步骤修改
1)设置 ip 地址
在这里插入图片描述
表示监听任何 ip

2)关闭保护模式
在这里插入图片描述
改为 no 即可

3)启动守护进程
在这里插入图片描述

4)设置工作目录(非必须)
主要用于更方便的访问工作目录,嫌麻烦可以用默认的
先创建工作目录

mkdir -p /var/lib/redis

再在配置文件中设置工作目录
在这里插入图片描述

5)设置日志目录(非必须)
主要用于更方便的查看日志,嫌麻烦可以用默认的
先创建日志目录

mkdir -p /var/log/redis/

再在配置文件中设置日志目录
在这里插入图片描述

至此安装并配置 Redis 完毕,最后启动 redis 即可

redis-server /etc/redis/redis.conf

这是通过配置文件直接启动,通过指令

netstat -anp | head -2 && netstat -anp | grep redis

可以看到运行的 redis 服务
在这里插入图片描述
redis 的端口为 6379,接着可以在 Linux 下直接启动 redis 客户端

redis-cli --raw

如下图
在这里插入图片描述
来测试一下是否成功连接服务器,输入 ping,如果返回 PONG 就表示连接成功
在这里插入图片描述
ps:启动 redis 客户端时可以加上 --raw,加上的作用时输出中文时显示中文

二、通过C++访问Redis

首先在 github 上搜索 redis-plus-plus,链接直达:redis-plus-plus
这是大佬写好的库,可以直接调用其接口来访问自己的 redis 服务器。
准备工作:
1)因为我的Linux 版本是 Centos 7.0,而自带的 cmake 版本较低,所以需要先安装 cmake3

yum install cmake3

2)因为 redis-plus-plus 是基于 hiredis 实现的,因此需要先安装 hiredis

git clone https://github.com/redis/hiredis.git
cd hiredis
make
make install

成功安装后会获得如下动静态库
在这里插入图片描述
3)接着安装 redis-plus-plus

git clone https://github.com/sewenew/redis-plus-plus.git
cd redis-plus-plus
mkdir build
cd build
cmake3 ..
make
make install

成功安装后会获得如下动静态库
在这里插入图片描述
至此安装完成,在通过 C++ 访问 redis 时,就可以调用 redis-plus-plus 提供的相关 API 了,别忘了包含对应头文件

#include <sw/redis++/redis++.h>

一个简单的使用例子:

#include <iostream>
#include <sw/redis++/redis++.h>
using namespace std;int main()
{sw::redis::Redis redis("tcp://127.0.0.1:6379"); //连接到 redis 服务器redis.flushall();string echo = redis.ping();cout << echo << endl;redis.set("k1", "v1");redis.set("k2", "v2");redis.set("k3", "v3");return 0;
}

使用 g++ 编译时别忘了指明相关库的路径,比如:

.PHONY:test
test:test.cppg++ -o $@ $^ /usr/local/lib64/libredis++.a /usr/local/lib/libhiredis.a -std=c++17

执行结果:
在这里插入图片描述
redis 数据库中也确实存储了对应的键值对
在这里插入图片描述
如需了解更多 API 请访问 redis-plus-plus 项目的 API Reference

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/149382.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

LED显示屏驱动电源:恒流与恒压,谁更胜一筹?

LED显示屏&#xff0c;作为现代电子显示技术的重要代表&#xff0c;已经在我们的生活中无处不在。无论是商场的广告牌、体育场的计分板&#xff0c;还是家庭中的智能电视&#xff0c;LED显示屏都以其鲜艳的色彩、高清晰度和长寿命赢得了我们的青睐。然而&#xff0c;在这背后&a…

爬虫逆向学习(七):补环境动态生成某数四代后缀MmEwMD

声明&#xff1a;本篇文章内容是整理并分享在学习网上各位大佬的优秀知识后的实战与踩坑记录 前言 这篇文章主要是研究如何动态生成后缀参数MmEwMD的&#xff0c;它是在文章爬虫逆向学习(六)&#xff1a;补环境过某数四代的基础上进行研究的&#xff0c;代码也是在它基础上增…

Python在AI中的应用--使用决策树进行文本分类

Python在AI中的应用--使用决策树进行文本分类 文本分类决策树什么是决策树 scikit算法 使用scikit的决策树进行文章分类一个文本分类的Python代码使用的scikit APIs说明装入数据集决策树算法类类构造器&#xff1a; 构造决策树分类器产生输出评估输出结果分类准确度分类文字评估…

如何从格式化的笔记本电脑或台式机中恢复照片

您想学习如何从已格式化的笔记本电脑或台式机中恢复已删除的照片吗&#xff1f;这篇文章解释了如何使用最佳格式的照片恢复软件来做到这一点。您可以通过简单的步骤格式化计算机后恢复已删除的图像。 将照片保存在笔记本电脑或 PC 硬盘上是很常见的。与相机存储卡和 USB 闪存驱…

代码随想录Day16 单调栈

739. 每日温度 该题的题意很简单 要求遍历温度数组 找出几天后会出现下一次更高的温度 这就可以用到单调栈的知识 通常是一维数组&#xff0c;要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置&#xff0c;此时我们就要想到可以用单调栈了 那么我们该如何实现…

Leetcode 65. 有效数字

1.题目基本信息 1.1.题目描述 给定一个字符串 s &#xff0c;返回 s 是否是一个 有效数字。 例如&#xff0c;下面的都是有效数字&#xff1a;”2″, “0089”, “-0.1”, “3.14”, “4.”, “-.9”, “2e10”, “-90E3”, “3e7”, “6e-1”, “53.5e93”, “-123.456e789…

单链表:学生信息管理系统

一、头文件 #ifndef __LINK_H__ #define __LINK_H__ #include <myhead.h> #define MAX 30 // 建立学生结构体 typedef struct student {int id; //学号char name[20]; //姓名float score; //分数 }stu;typedef struct node {union{int len;stu data;};struct node * nex…

(Arxiv-2024)DiffLoRA:通过扩散生成个性化低秩自适应权重

DiffLoRA&#xff1a;通过扩散生成个性化低秩自适应权重 paper title&#xff1a;DiffLoRA: Generating Personalized Low-Rank Adaptation Weights with Diffusion paper是电子科技大学发表在arxiv 2024的工作 paper地址 Abstract 个性化文本转图像生成因其能够根据用户定义的…

【python】requests 库 源码解读、参数解读

文章目录 一、基础知识二、Requests库详解2.1 requests 库源码简要解读2.2 参数解读2.3 处理响应2.4 错误处理 一、基础知识 以前写过2篇文章&#xff1a; 计算机网络基础&#xff1a; 【socket】从计算机网络基础到socket编程——Windows && Linux C语言 Python实现…

环形缓冲区例子

即使使用中断函数或者定时器函数记录按键&#xff0c;如果只能记录一个键值的话&#xff0c;如果不能 及时读走出来&#xff0c;再次发生中断时新值就会覆盖旧值。要解决数据被覆盖的问题&#xff0c;可以使用 一个稍微大点的缓冲区&#xff0c;这就涉及数据的写入、读出&#…

MyBatis - 动态SQL

前言 我们在某网站填写个人信息时&#xff0c;时常会遇到可以选填的空&#xff08;即可填&#xff0c;可不填&#xff09;&#xff0c;由于之前讲过的Java中的SQL语句都是固定的&#xff0c;且我们不可能对所有情况都写出与之对应的插入语句&#xff08;太过繁琐&#xff09;&…

【LLM多模态】Animatediff文生视频大模型

note AnimateDiff框架&#xff1a;核心是一个可插拔的运动模块&#xff0c;它可以从真实世界视频中学习通用的运动先验&#xff0c;并与任何基于相同基础T2I的个性化模型集成&#xff0c;以生成动画。训练策略&#xff1a;AnimateDiff的训练包括三个阶段&#xff1a; 领域适配…

56 mysql 用户权限相关的实现

前言 这里讨论 mysql 的权限相关处理 使用如下语句创建 tz_test 用户, 并赋予他 test_02 数据库的查询权限 create user tz_test% identified by tz_test; grant select on test_02.* to tz_test%; 查询目标数据表, 数据如下, tz_test_02 UPDATE command denied to user …

前端——表单和输入

今天我们来学习web前端中的表单和输入 表单 HTML 表单用于收集用户的输入信息&#xff0c;用表单标签来完成服务器的一次交互。 HTML 表单表示文档中的一个区域&#xff0c;此区域包含交互控件&#xff0c;将用户收集到的信息发送到 Web 服务器。 HTML 表单通常包含各种输入…

Apache Dolphinscheduler:一个开源的分布式工作流调度系统

一个开源的分布式工作流调度系统 Apache Dolphinscheduler概述安装 单机部署准备工作启动DolphinScheduler登录DolphinScheduler启停服务命令配置数据库初始化数据库 DolphinScheduler集群模式准备工作修改install_env.sh文件修改dolphinscheduler_env.sh文件初始化数据库部署访…

【Python】数据可视化之分布图

分布图主要用来展示某些现象或数据在地理空间、时间或其他维度上的分布情况。它可以清晰地反映出数据的空间位置、数量、密度等特征&#xff0c;帮助人们更好地理解数据的内在规律和相互关系。 目录 单变量分布 变量关系组图 双变量关系 核密度估计 山脊分布图 单变量分布…

谷歌网站收录查询,怎么查看网站在谷歌的收录情况

在进行谷歌网站收录查询时&#xff0c;我们需采取一种既专业又系统的方法&#xff0c;以确保能够准确评估网站在谷歌搜索引擎中的可见性和收录状态。这一过程不仅关乎技术细节&#xff0c;还涉及到对搜索引擎优化&#xff08;SEO&#xff09;策略的理解与应用。以下是一个基于专…

MobaXterm基本使用 -- 服务器状态、批量操作、显示/切换中文字体、修复zsh按键失灵

监控服务器资源 参考网址&#xff1a;https://www.cnblogs.com/144823836yj/p/12126314.html 显示效果 MobaXterm提供有这项功能&#xff0c;在会话窗口底部&#xff0c;显示服务器资源使用情况 如内存、CPU、网速、磁盘使用等&#xff1a; &#xff08;完整窗口&#xff0…

QT| “无法粘贴窗口部件”错误以及customplot

“无法粘贴窗口部件”错误以及customplot “无法粘贴窗口部件”错误customplot下载添加到项目中使用QCustomPlot常用的代码 “无法粘贴窗口部件”错误 情景&#xff1a;使用QT设计界面&#xff0c;很多部分比较类似&#xff0c;可以复制另一个界面的ui&#xff0c;但是粘粘的时…

力扣 中等 1901.寻找峰值II

文章目录 题目介绍题解 题目介绍 题解 需要明白一个事实&#xff1a;从任意一个点出发&#xff0c;可以经过一个递增路径&#xff0c;找到一个极大值点。 求出一行的最大值&#xff0c;如果这行最大值比上面的要小&#xff0c;那峰值&#xff08;之一&#xff09;就会在上面 …