【Linux】Linux安装并配置Redis

目录

1.安装

2.启动服务

3.配置

        3.1.绑定地址

        3.2.保护模式

         3.3.持久化选项

        3.3.1.RDB 持久化

        3.3.2.AOF 持久化

3.3.3.如何选择


1.安装

        Redis 可以从默认的 CentOS 软件仓库中安装。运行以下命令来安装 Redis

sudo dnf install redis -y

        响应如下

2.启动服务

        安装完成后,可以通过以下命令启动 Redis 服务,并设置开机自启。

sudo systemctl start redis
sudo systemctl enable redis

3.配置

        Redis 的配置文件位于 /etc/redis.conf。根据需要调整配置。下面是一些常用的配置修改示例

        3.1.绑定地址

        默认情况下,Redis 只允许来自本机的连接。如果你需要让它接受来自远程主机的连接,你需要编辑 Redis 配置文件中的 bind 参数。找到并修改或添加如下行(替换为你的服务器 IP 地址)

bind 0.0.0.0

        3.2.保护模式

        如果你修改了 bind 设置以允许外部访问,则还需要关闭 Redis 的保护模式(protected-mode),或者正确配置密码验证机制。找到并修改如下行

protected-mode no

        或者设置一个密码

requirepass 你的Redis密码

         3.3.持久化选项

  • 根据需要调整 RDB 和 AOF 持久化选项
  • 在Redis中,持久化数据有两种主要方式:RDB(Redis Database Backup)和AOF(Append Only File)。它们各自有不同的特点和适用场景。

        3.3.1.RDB 持久化

  • 什么是RDB:RDB创建的是某个时间点的数据快照。这意味着它会将某一时刻内存中的数据集保存到磁盘上。
  • 优点:
  •         RDB文件紧凑,适合用于备份和灾难恢复。
  •         RDB能最大化Redis的性能,因为Redis可以使用最大CPU功率来服务客户端请求,而只需在指定的时间间隔内完成数据快照。
  •         对于大规模数据恢复,RDB比AOF更快。
  • 缺点:
  •         如果最近一次快照之后发生故障,那么自上次快照以来的所有写操作都将丢失。
  •         配置:通过修改redis.conf文件中的save参数设置触发快照的条件。例如,save 900 1表示如果在900秒内至少有1个键发生变化,则触发快照;save 300 10表示如果在300秒内至少有10个键发生变化,则触发快照。

        示例如下:

        3.3.2.AOF 持久化

  • 什么是AOF:AOF持久化记录服务器接收到的每个写操作,在服务器启动时通过重新执行这些命令来重建数据集。
  • 优点:
  •         提供了更好的持久性保证,因为它记录了每个写操作,所以在理论上只有最后一个命令可能会丢失。
  •         日志文件以追加的方式写入,所以不需要寻道,这使得写入速度相对较快。
  • 缺点:
  •         AOF文件通常比同一数据集的RDB文件要大。
  •         在重启时,加载AOF文件重建数据集可能需要比RDB更长的时间。
  •         配置:可以通过修改redis.conf文件中的appendonly参数来开启或关闭AOF,默认是关闭的。开启后,还可以调整appendfsync选项来控制同步频率:
  • always:每次写操作都同步。最安全,但效率最低。
  • everysec:每秒同步一次。这是默认选项,提供了良好的平衡。
  • no:不主动同步,让操作系统决定何时同步。最快,但安全性最低。

        示例如下:

3.3.3.如何选择

  • 如果你的应用要求快速恢复并且能够接受一定程度的数据丢失,可以选择RDB。
  • 如果你不能承受任何数据丢失,并且愿意为此牺牲一些性能,则应该考虑使用AOF。

实际部署中,也可以同时启用RDB和AOF。在这种情况下,Redis会优先加载AOF文件来恢复数据,因为它通常是更完整、更新的数据来源。但是,这样做也会增加系统的复杂性和磁盘空间需求。

4.测试安装

        你可以使用 redis-cli 命令行工具测试 Redis 是否正常工作

redis-cli

        如更改了端口号则要在命令后输入新的端口号 ,默认情况下,redis-cli 尝试连接的是本地的 6379 端口

redis-cli -p 29992

        如果 Redis 添加了密码,则要先根据以下指令输入密码

AUTH 密码

        响应如下

        也可以使用 Navicat Premium 查看是否可以远程连接。

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

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

相关文章

python-数据可视化(大数据、数据分析、可视化图像、HTML页面)

通过 Python 读取 XLS 、CSV文件中的数据,对数据进行处理,然后生成包含柱状图、扇形图和折线图的 HTML 报告。这个方案使用了 pandas 处理数据,matplotlib 生成图表,并将图表嵌入到 HTML 页面中。 1.XSL文件生成可视化图像、生成h…

黑马点评相关知识总结

黑马点评的项目总结 主要就黑马点评项目里面的一些比较重要部分的一次总结,方便以后做复习。 基于Session实现短信登录 短信验证码登录 这部分使用常规的session来存储用户的登录状态,其中短信发送采取逻辑形式,并不配置云服务验证码功能。…

手搓四人麻将程序

一、麻将牌的表示 在麻将游戏中,总共有一百四十四张牌,这些牌被分为多个类别,每个类别又包含了不同的牌型。具体来说,麻将牌主要包括序数牌、字牌和花牌三大类。序数牌中,包含有万子、条子和筒子,每种花色…

【Java高阶面经:数据库篇】17、分库分表分页查询优化:告别慢查询与内存爆炸

一、分库分表基础:策略与中间件形态 1.1 分库分表核心策略 分库分表是应对海量数据存储和高并发访问的关键架构设计,其核心在于将数据分散到不同的数据库或表中,以突破单库单表的性能限制。常见的分库分表策略包括: 1.1.1 哈希…

贪心算法之跳跃游戏问题

问题背景 本文背景是leetcode的一道经典题目:跳跃游戏,描述如下: 给定一个非负整数数组 nums,初始位于数组的第一个位置(下标0)。数组中的每个元素表示在该位置可以跳跃的最大长度。判断是否能够到达最后…

Label Studio:开源标注神器

目录 一、Label Studio 是什么? 二、核心功能大揭秘 2.1 多类型数据全兼容 2.2 个性化定制随心配 2.3 团队协作超给力 2.4 机器学习巧集成 三、上手实操超简单 3.1 安装部署不头疼 3.1.1 Docker安装 3.1.2 pip安装 3.1.3 Anaconda安装 3.2 快速开启标注…

创建信任所有证书的HttpClient:Java 实现 HTTPS 接口调用,等效于curl -k

在 Java 生态中,HttpClient 和 Feign 都是调用第三方接口的常用工具,但它们的定位、设计理念和使用场景有显著差异。以下是详细对比: DIFF1. 定位与抽象层级 特性HttpClientFeign层级底层 HTTP 客户端库(处理原始请求/响应&#…

从零基础到最佳实践:Vue.js 系列(7/10):《常用内置 API 与插件》

引言 Vue.js 是一款轻量且强大的前端框架,因其易用性和灵活性受到广泛欢迎。无论是初学者还是资深开发者,都可以通过其内置 API 和插件生态快速构建高效、可维护的 Web 应用。本文将从基础用法讲起,逐步深入到进阶技巧,结合大量实…

线性代数:AI大模型的数学基石

🧑 博主简介:CSDN博客专家、CSDN平台优质创作者,高级开发工程师,数学专业,10年以上C/C, C#, Java等多种编程语言开发经验,拥有高级工程师证书;擅长C/C、C#等开发语言,熟悉Java常用开…

Java-System工具类深度解析

Java-System工具类深度解析 前言一、System 类概述1.1 基本定义与特点1.2 重要成员变量 二、标准输入输出功能2.1 标准输入(System.in)2.2 标准输出(System.out)2.3 标准错误输出(System.err) 三、系统属性…

删除用户凭证

Git 部分仓库无法操作,部分仓库没问题 问题出现 我用个人电脑修改了项目,提交了git。然后第二天在公司电脑git pull的时候失败,只有部分仓库,git colne直接失败,部分仓库无问题。 解决方式 删除git相关凭证&#xff…

19. 结合Selenium和YAML对页面实例化PO对象改造

19. 结合Selenium和YAML对页面实例化PO对象改造 一、架构升级核心思路 1.1 改造核心目标 # 原始PO模式:显式定义元素定位 username (id, ctl00_MainContent_username)# 改造后PO模式:动态属性访问 self.username.send_keys(Tester) # 自动触发元素定…

鸿蒙App开发学习路径

以下是一份系统的鸿蒙(HarmonyOS)App开发学习路径,适合从零开始逐步掌握相关技能: 1. 基础知识储备 1.1 理解鸿蒙系统 鸿蒙核心特性:分布式能力、一次开发多端部署、原子化服务、ArkUI框架。与Android/iOS的区别&…

spring boot启动报错:2002 - Can‘t connect to server on ‘192.168.10.212‘ (10061)

错误代码 10061 通常表明无法建立到指定服务器的网络连接。这个错误属于 Windows Sockets 错误代码,具体指的是无法建立网络连接,通常是因为目标地址不可达。以下是一些解决此问题的步骤: 检查 IP 地址和端口: 确保你输入的 IP …

ARMv7的NVIC中断优先级

1. 优先级模型 数值规则:数值越小,优先级越高(例如优先级0的异常比优先级1的异常更高);若多个异常的优先级相同,则 异常号(Exception Number) 较小的异常优先执行。固定优先级异常(不可配置):异常类型 优先级值 说明 Reset -3 最高优先级(系统复位) NMI -2 不可屏…

gitee错误处理总结

背景 如上图,根据图片中的 Git 错误提示,我们遇到的问题是 ​本地分支落后于远程分支,导致 git push 被拒绝。 ​问题原因​ 远程仓库的 master 分支有其他人推送的新提交,而您的本地 master 分支未同步这些更新(即本…

阿里云合集(不定期更新)

一、阿里云申请免费域名证书流程:https://blog.csdn.net/humors221/article/details/143266059 二、阿里云发送国内短信怎样编程:https://blog.csdn.net/humors221/article/details/139544193 三、阿里云ECS服务器磁盘空间不足的几个文件:h…

leetcode239 滑动窗口最大值deque方式

这段文字描述的是使用单调队列&#xff08;Monotonic Queue&#xff09; 解决滑动窗口最大值问题的优化算法。我来简单解释一下&#xff1a; 核心思路 问题分析&#xff1a;在滑动窗口中&#xff0c;若存在两个下标 i < j 且 nums[i] ≤ nums[j]&#xff0c;则 nums[i] 永远…

小白的进阶之路系列之三----人工智能从初步到精通pytorch计算机视觉详解下

我们将继续计算机视觉内容的讲解。 我们已经知道了计算机视觉,用在什么地方,如何用Pytorch来处理数据,设定一些基础的设置以及模型。下面,我们将要解释剩下的部分,包括以下内容: 主题内容Model 1 :加入非线性实验是机器学习的很大一部分,让我们尝试通过添加非线性层来…

elementUI 单选框存在多个互斥的选项中选择的场景

使用 el-radio-group 来使用单选框组&#xff0c;代码如下&#xff1a; <el-radio-group input"valueChangeHandler" v-model"featureForm.type"><el-radio name"feature" label"feature">业务对象</el-radio><…