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

news2024/12/25 14:28:10

文章目录

  • 一、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.cpp
	g++ -o $@ $^ /usr/local/lib64/libredis++.a /usr/local/lib/libhiredis.a -std=c++17

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

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

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

相关文章

【LeetCode】每日一题 2024_9_26 数组元素和与数字和的绝对差(模拟)

前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动&#xff01; 题目&#xff1a;数组元素和与数字和的绝对差 代码与解题思路 func differenceOfSum(nums []int) int {sum1, sum2 : 0, 0for _, v : range nums {sum1 vfor v > 0 {sum2 v%10v / 10}}return sum1-s…

教师工作量在线管理服务

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式&#xff0c;是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示&#xff1a; 图4-1系统工作原理…

dockerfile部署springboot项目(构建镜像:ebuy-docker:v1.0)

文章目录 1、docker部署Mysql2、dockerfile构建镜像1.1、在idea中导入课件中的项目资料\day01\ebuy-docker1.2、修改项目application.yml数据库连接参数1.3、启动项目访问测试&#xff1a;http://localhost:8081/1.4、执行mvn package命令进行项目打包1.5、虚拟机中新建目录/op…

高性能计算秘密武器:NVIDIA B100与B200如何让你的HPC性能飙升?

嘿&#xff0c;各位科技界的狂热粉丝、AI领域的探索先锋&#xff0c;你们是否正站在高性能计算&#xff08;HPC&#xff09;的十字路口&#xff0c;寻找那把能开启全新纪元的钥匙&#xff1f;今天&#xff0c;就让我带你深入剖析NVIDIA的最新力作——B100与B200&#xff0c;一同…

C++结尾

面试题 1.什么是虚函数&#xff1f;什么是纯虚函数 在定义函数时前面加virtual。虚函数是为了&#xff0c;父子类中只有一个该函数。如果在子类重写虚函数&#xff0c;那么用的就是子类重写的虚函数&#xff1b;如果子类没有重写虚函数&#xff0c;那么调用的是父类继承的虚函…

【JAVA开源】基于Vue和SpringBoot的网上租赁系统

本文项目编号 T 050 &#xff0c;文末自助获取源码 \color{red}{T050&#xff0c;文末自助获取源码} T050&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析5.4 用例设计5.4.1 用…

生信软件37 - 基于测序reads的变异进行单倍型分型工具WhatsHap

1. WhatsHap简介 WhatsHap是一种使用DNA测序reads的基因组变异进行定相&#xff08;分型&#xff09;的软件&#xff0c;即基于reads的定相或单倍型组装&#xff0c;特别适用于长reads &#xff08;三代测序数据&#xff09;&#xff0c;但也兼容短reads的定相。 Whatshap特点…

Ubuntu22.04安装cudnn详细步骤

下载指定版本的cudnn https://developer.nvidia.com/rdp/cudnn-archive#a-collapse804-111 安装 sudo dpkg -i cudnn-local-repo-ubuntu2204-8.9.7.29_1.0-1_amd64.deb 根据上步提示&#xff1a; sudo cp /var/cudnn-local-repo-ubuntu2204-8.9.7.29/cudnn-local-08A7D361-…

【C++】STL标准模板库容器set

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C ⚙️操作环境:Visual Studio 2022 目录 &#x1f4cc;关联式容器set(集合)简介 &#x1f4cc;set(集合)的使用 &#x1f38f;set(集合)的模板参数列表 &#x1f38f;set(集合)的构造函数 &#x1f38f;set(集合)的迭代…

【算法题】72. 编辑距离-力扣(LeetCode)

【算法题】72. 编辑距离-力扣(LeetCode) 1.题目 下方是力扣官方题目的地址 72. 编辑距离 给你两个单词 word1 和 word2&#xff0c; 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作&#xff1a; 插入一个字符删除一个字符替换一个…

哈希算法以及容器实现

哈希 一&#xff0c;哈希算法1.什么是哈希2.哈希产生的原因3.常见哈希算法4.闭散列&#xff08; 哈希表&#xff09;1.线性探测2.二次探测 5.开散列&#xff08;哈希桶&#xff09;1.开散列插入2.开散列扩容 二&#xff0c;代码实现1.哈希表2.哈希桶1.迭代器的实现2.底层容器的…

C++ --- 模板为什么不能分离编译?

模板为甚么不能分离编译&#xff0c;但普通函数却可以&#xff1f; 一、前置知识二、普通函数能分离编译的原因三、模板不能分离编译的原因 一、前置知识 编译阶段: 源代码到目标代码&#xff1a; 编译器首先将源代码&#xff08;如C/C文件&#xff09;翻译成汇编语言&#x…

初学51单片机之I2C总线与E2PROM

首先先推荐B站的I2C相关的视频I2C入门第一节-I2C的基本工作原理_哔哩哔哩_bilibili 看完视频估计就大概知道怎么操作I2C了&#xff0c;他的LCD1602讲的也很不错&#xff0c;把数据建立tsp和数据保持thd&#xff0c;比喻成拍照时候的摆pose和按快门两个过程&#xff0c;感觉还是…

CentOs-Stream-9 设置静态IP外网访问

CentOs-Stream-9 设置静态IP&#xff0c;实现外网访问。这里面有些需要注意的地方&#xff0c;比如IP网段跟我们的宿主机不一样&#xff0c;需要查看具体的网络适配器网段&#xff0c;这样可以快速实现网络互通&#xff1b;另外它的网络配置文件也是不一样的。网络适配器对应的…

放弃 startActivityForResult,Activity Result API 优雅使用

放弃 startActivityForResult&#xff0c;Activity Result API 优雅使用 Activity Result API 是 androidx 中的一个新 api&#xff0c;旨在替代原有的 startActivityForResult 方法&#xff0c;用于在两个 Activity 或 Fragment 交换数据、获取返回结果。 过去如果 Activity…

了解独享IP的概念及其独特优势

在网络世界中&#xff0c;IP地址是用来识别和定位设备的标识符。独享IP是一种服务模式。使用代理服务器时&#xff0c;用户拥有一个不与其他用户共享的专用独立IP地址。与共享IP相比&#xff0c;独享IP为用户提供了更高的独立性和隐私保护。下面详细介绍独享IP的定义、工作原理…

OJ在线评测系统 后端 代码沙箱原生实现 初始化项目

代码沙箱Java原生实现 之前我们完成了快速的前端页面开发 重点是在后端 历史问题修复 Java原生代码沙箱实现 docker代码沙箱实现 解决历史遗留问题 代码编辑器切换语言失败 监听language属性 动态更改编辑器的语言 我们在这里实现的是一个线程形式的监听 watch(() > …

总结拓展十一:S4 HANA和ECC区别

第一节 S/4 HANA系统简介 SAP系统的产品线 R/1版本——主要财务模块R/3版本——基本实现全模块ECC6.0——2005年推出&#xff08;ECC是2004年推出&#xff09;HANA——数据库产品——属于内存数据库BW on HANA——HANA与数据分析相结合 拓展&#xff1a; 数据库类型&#x…

易盾滑块验证码

前言 这玩意我就搞定get请求和check请求&#xff0c;那个b接口的d参数还是有点问题&#xff0c;还有就是b接口的返回参数怎么用&#xff0c;是不是只是加了cookie我也不确定&#xff0c;所以有高手的话希望可以指导一下。我的虽然能够成功&#xff0c;但是只有前2次成功&#x…

ARM V8 A32常用指令集

文章目录 1. 算术指令1.1 加法命令ADD\ADDS1.2 带进位加法命令ADC\ADCS1.3减法命令SUB\SUBC1.4带借位减法命令SBC\SBCS 2.逻辑运算指令2.1逻辑与指令AND、ANDS2.2位清零指令BIC2.3逻辑或指令ORR\ORRS2.4逻辑异或指令2.5 逻辑左移LSL2.6逻辑右移LSR 3.比较指令3.1直接比较指令CM…