redis从6.2.x版本升级到8.8.1

springboot版本升级从1.x升级到2.x springboot版本升级遇到的问题和注意 由于近期接到要求把项目全部升级到springboot2.x版本,经过不断的尝试和排错,总结到一些经验,现分享给大家。避免大家采坑。(我是从springboot1.5.7版本升级到springboot2.1.9版本) 由于大版本的升级,许多组件和配置都不能正常使用。所以要适应版本的更改,就要做一些相应的处理。 注意springboot2.x版本的jdk是1.8+,maven版本3.6.1+ 不多说直接来! 下面是pom依赖的升级和相关配置文件的更改 1.Sprin 阅读详情

1.背景:出于安全考虑,部署于麒麟操作系统上的redis必须要升级到>=8.8.0的版本。

操作系统版本:

原来的redis版本:

2.升级过程遇到了问题,

过程中通过AI搜索了资料,尝试了好几个方案,问题终于搞定了,redis只是临时做缓存用,不用迁移数据,所以,应该干脆安装一个8.8.1的redis就行,端口不变,就不用改应用服务系统的redis配置。

第一步:下载并编译Redis 8.8.0源码
下载源码:从Redis官方或国内镜像站(如华为云)下载8.8.0的源码包。

bash
cd /tmp
wget https://download.redis.io/releases/redis-8.8.0.tar.gz
# 或使用华为云镜像加速
# wget https://mirrors.huaweicloud.com/redis/redis-8.8.0.tar.gz
tar -zxvf redis-8.8.0.tar.gz
cd redis-8.8.0


第二步:编译安装:

bash
# 清理之前可能存在的编译残留
make distclean

# 编译。可以指定安装路径,方便管理,例如安装在 /usr/local/redis
make PREFIX=/usr/local/redis install

从日志来看,有两个核心问题:

Redis 编译时没有包含 systemd 支持(systemd supervision requested or detected, but Redis is compiled without libsystemd support!)

PID 文件写入失败(Failed to write PID file: Read-only file system)

🔧 解决方案
第一步:重新编译 Redis,加入 systemd 支持
因为之前编译时没有链接 libsystemd,所以 --supervised systemd 无法工作。需要重新编译:

bash
cd /tmp/redis-8.8.1

# 清理之前的编译产物
make distclean

# 安装 systemd 开发库(如果还没装)
sudo yum install -y systemd-devel

# 重新编译,指定 systemd 支持
make USE_SYSTEMD=yes

# 安装
sudo make PREFIX=/usr/local/redis install
第二步:修改服务文件,使用 Type=simple
既然 Redis 没有 systemd 支持,就不能用 Type=notify。改回 Type=simple:

bash
vi /etc/systemd/system/redis.service
内容改为:

ini
[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/local/redis/bin/redis-server /data/redis-6.2.9/redis.conf
ExecStop=/usr/local/redis/bin/redis-cli shutdown
Restart=on-failure
RestartSec=5
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
关键点:

去掉 --supervised systemd 参数(因为编译时没加 systemd 支持)

Type=simple 而不是 notify

第三步:解决 PID 文件写入失败问题
日志显示 Failed to write PID file: Read-only file system,说明 PID 文件目录是只读的。检查并修复:

查看配置文件中的 PID 路径:

bash
grep -i pidfile /data/redis-6.2.9/redis.conf
通常会是 pidfile /var/run/redis_6379.pid 或类似路径。

检查该目录是否存在且可写:

bash
# 查看 /var/run 是否可写
ls -ld /var/run

# 如果是只读,可以换个目录,比如 /tmp
# 修改 redis.conf:
pidfile /tmp/redis_6379.pid
或者直接注释掉 pidfile 配置(因为 systemd 管理时不需要 PID 文件):
在 redis.conf 中找到 pidfile 行,在前面加 # 注释掉:

conf
# pidfile /var/run/redis_6379.pid
第四步:处理 IPv6 绑定警告(非致命)
日志中还有 listening socket ::1:6379: bind: Cannot assign requested address,这是因为系统没有启用 IPv6,但配置里绑定了 ::1。

在 redis.conf 中,将 bind 改为只绑定 IPv4:

conf
bind 127.0.0.1
# 如果有外网需求,可以加上内网IP,例如:
# bind 127.0.0.1 192.168.1.100
第五步:重载并启动
bash
# 重新加载 systemd 配置
systemctl daemon-reload

# 重置失败状态
systemctl reset-failed redis.service

# 启动
systemctl start redis.service

# 查看状态
systemctl status redis.service

启动成功了

Redis 6.x 安装 文章目录安装网站安装版本安装步骤准备工作:下载安装最新版的gcc编译器下载redis-6.2.1.tar.gz放/opt目录,解压完成后进入目录在redis-6.2.1目录下再次执行make命令(只是编译好)跳过make test 继续执行: make install安装目录:/usr/local/bin前台启动(不推荐)后台启动(推荐)备份redis.confRedis启动用客户端访问:redis-cli测试验证: ping客户端退出多个端口可以:redis-cli -p 6379彻底关闭服务器客户端和进 阅读详情

相关推荐

Redhat 8系统下Redis 6.2.6安装全攻略:从GCC升级到后台运行配置

本文详细介绍了在Redhat 8系统上安装和部署Redis 6.2.6的完整流程。针对编译环境,重点讲解了如何通过Developer Toolset升级GCC版本以解决兼容性问题。随后,文章逐步指导了Redis的编译安装、生产级安全配置优化,并最终将其配置为可靠的systemd后台服务,确保开机自启和便捷管理。

weixin_29281915的博客 601

Folia 安装教程:从零到跑通第一首全屏歌词只要 10 分钟

Folia 是一个全屏歌词播放器:把带逐字歌词的歌丢进去,整屏文字跟着节拍动。它接网易云、QQ 音乐、酷狗、Navidrome,也能读本地曲库。本文只干一件事——在你的机器上装好它、跑通第一首歌;原理和进阶配置一概不涉及。四个动作,预留 10 分钟就够。 ## 开工前的四件事 | 检查项 | 怎么确认 | 不满足怎么办 | | --- | --- | --- | | 系统版本 | Window

gitblog_00137的博客 712

PC网站实现微信扫码登录功能(二)

上篇我们介绍了怎么申请账号以及最后拿到appId和appSecret,如果有不清楚的可以看一下 PC网站实现微信扫码登录功能(一) 下面我就来说一下怎样在PC端怎么实现扫码登录功能。 一、进入官方文档网站 https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html 其实官网对过程描述的已经非常细致了。并且提供了两种扫码方式。一种是跳转二维码扫描页面,另一种是内嵌式二维码。大家可以

qq_35771266的博客 3万+

Redlock版本升级指南:从1.x到2.x的重要变更与迁移策略

Redlock是一个基于Redis的Ruby分布式锁实现,超过4000万次下载量。本指南将帮助开发者顺利完成从1.x到2.x版本的升级,掌握关键变更点和迁移策略。 ## 为什么要升级到Redlock 2.x? Redlock 2.x版本带来了对Redis 6.0及以上版本的支持,同时进行了架构优化。对于仍在使用1.x版本的项目,升级不仅能获得新特性支持,还能确保与最新Redis环境的兼容性。

gitblog_00030的博客 1129

别再手动对照了!用Python+ArcGIS Pro一键搞定三调数据转土地三大类

本文介绍如何利用Python和ArcGIS Pro实现三调数据向土地三大类的自动化转换,大幅提升国土空间规划和土地变更调查的工作效率。通过封装分类规则为Python函数并集成到ArcGIS Pro脚本工具中,解决了传统手动操作耗时且易错的问题,适用于大规模数据处理场景。

weixin_29081101的博客 304

全志 T527_Android13 编译 [ 避坑必看 ]

Swap 概念: Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。它的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行。当输入编译命令make -j16 的时候,会有如下提示,这是官方建议通过减少编译线程来解决编译时消耗内存过大的问题。Android 13 系统的编译流程,编译一共分为两部分:内核编译与 Android 编译。

公众号:嵌入式分享 2110

Redis100篇 - Redis版本升级怎么操作 平滑升级+回滚方案

本文介绍了Redis版本升级的完整方案,包括准备工作、兼容性测试、平滑升级流程和回滚机制。主要内容如下: 升级前准备 检查版本兼容性和配置变更 执行RDB/AOF双重备份并验证完整性 在测试环境进行全链路验证 Java应用兼容性测试 检查客户端库版本 编写基本操作测试用例 验证命令行为和ACL功能 平滑升级方案 针对单机/主从/集群不同架构 主从架构推荐方案:先升级从节点,然后切换流量 详细的操作步骤和注意事项 文章强调Redis升级需要谨慎对待,提供了一套完整的评估、测试、执行和回滚流程,确保升级过程安全

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

全桥LLC谐振变换器变频控制工作原理与仿真

全桥LLC谐振变换器以其效率高、全范围软开关、器件电应力小等优点,越来越多地应用于大功率场合。电力电子技术的发展日益追求高频化,所带来的问题是半导体开关器件高频运行时的开关损耗急剧增加。各种软开关电路随之出现。可以有效减小开关损耗,使进一步提高开关频率成为可能。谐振式开关因其可在电流自然过零点开通半导体器件,实现零电压开关,特别适合采用MOSFET作开关的装置。最简单的谐振电路有串联谐振(SRC)和并联谐振(PRC)。SRC只能工作于降压状态,应用受限;

晞子的技术札记 3059

Sidekiq-Cron版本升级指南:从1.x到2.x的平滑迁移

Sidekiq-Cron是一款强大的Sidekiq定时任务调度器,本文将为你提供从1.x版本升级到2.x版本的完整指南,帮助你顺利完成迁移过程,充分利用新版本带来的改进与优化。 ## 🌟 为什么要升级到2.x版本 Sidekiq-Cron 2.x版本带来了多项重要改进,包括对Sidekiq v6.5+的全面支持、性能优化以及安全性增强。升级到新版本不仅能获得更好的稳定性,还能体验到更高效的定

gitblog_00461的博客 856

【时空图神经网络 & 交通】相关模型3:STFGNN | 空间-时间依赖性 | 基于数据驱动的方法来生成“时间图” | 时空融合图模块,门控卷积模块 | 动态时间规整 | 顶会文章解析

STFGNN(时空融合图神经网络)在交通流量预测中的优势主要体现在以下几个方面:首先,它提出了一种数据驱动的方法生成“时间图”,弥补了传统空间图可能无法反映的某些相关性。其次,STFGNN通过并行处理不同时间段的空间图和时间图,有效地学习隐藏的时空依赖关系。此外,它将融合图模块与门控卷积模块整合到一个统一层中,通过层层堆叠处理长序列,进一步增强了模型的表达能力。实验结果表明,STFGNN在多个交通数据集上表现出色,优于其他基准方法,展示了其在实际应用中的强大潜力。

追光者♂:记录、分享、总结、提升,现象级专栏《Python从入门到人工智能》作者,无惧黑暗,坚信曙光 382

NVIDIA Isaac Sim 入门教程 - 运动生成控制器(Motion Generators)

机器人任务通常在任务空间中根据所需的末端执行器轨迹进行定义,而控制动作则在关节空间中执行。这自然会产生关节空间和任务空间(操作空间)控制方法。然而,要利用运动控制成功执行交互任务,往往需要对机械臂及其环境都建立精确的模型。虽然可以知道足够精确的机械臂模型,但很难获得详细的环境描述 [SSVO09]。可以通过在交互过程中引入顺应行为来克服这种不匹配造成的规划错误。虽然顺应性可以通过机器人的结构(如弹性致动器、软机械臂)被动实现,但我们对侧重于主动交互控制的控制器设计更感兴趣。这些设计大致分为注释。

2506_90492529的博客 1576

Scrapy-Redis版本升级终极指南:从0.6.x到0.7.x快速迁移教程

Scrapy-Redis作为Python爬虫开发中不可或缺的分布式爬虫框架,在0.7.x版本中带来了诸多重要改进。如果你正在使用0.6.x版本,这份完整迁移指南将帮助你顺利完成版本升级!🚀 ## 📋 版本升级核心变化 **Scrapy-Redis 0.7.x版本**主要带来了以下关键改进: - ✅ **全面支持Python 3.7+**:放弃对Python 2.x的支持 - ✅ **Re

gitblog_00262的博客 1086

即插即用系列(代码实践)| GRSL 2024 ARConv核心模块:自适应矩形卷积——专为遥感图像设计,打破固定方形卷积束缚

摘要: 本文提出了一种用于遥感图像处理的自适应矩形卷积模块(ARConv),解决了传统方形卷积核在处理复杂几何结构(如细长道路、密集建筑物)时导致的光谱混叠和边缘模糊问题。ARConv通过动态调整卷积核的长宽比和旋转角度,使卷积核形状与地物特征自适应匹配。该模块可即插即用于全色锐化、语义分割等遥感任务,有效提升边缘保持能力和光谱保真度。核心代码基于PyTorch实现,包含偏移量生成和几何变换逻辑,支持梯度缩放以稳定训练。

分享顶会顶刊论文即插即用模块 140

Redis版本升级:平滑迁移最佳实践

在当今快速发展的技术环境中,Redis作为高性能的键值对数据库(Key-Value Database),其版本迭代频繁,带来了性能优化、功能增强和安全补丁。根据[SECURITY.md](https://gitcode.com/GitHub_Trending/re/redis/blob/acbcaae530035aab5480756e8e29e075398ea931/SECURITY.md?utm...

gitblog_00473的博客 1434

使用 MATLAB/Simulink + Communications Toolbox + 5G Toolbox,构建一个2×2 MIMO-OFDM通信系统

本文通过Simulink+CommunicationsToolbox构建2×2 MIMO-OFDM通信系统,重点实现信道均衡滤波器(ZF与MMSE)的设计与应用。详细介绍了系统架构、建模步骤(包括信道估计、均衡器实现)和仿真场景设计,通过BER、星座图和EVM对比分析验证了MMSE均衡器在抑制噪声和信号恢复方面的优势。文章总结了MIMO均衡的核心原理与实践经验,并提出了扩展至大规模MIMO、深度学习均衡器等优化方向,为无线通信系统设计提供实用指导。

amy_mhd的博客 125

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Springboot 2.1.x版本直升 3.1.x版本踩坑过程记录(java8升级到java17)

升级springboot3.0的相关技术博客在网上有几篇,上面的问题都千奇百怪的,除了两个通用问题外其他的和我遇到的问题大部分都不太一样,有小部分问题当前网上还搜索不到解决方案,需要自己去分析,研究对比一下新旧版本的源码说明。这次升级直接到了最新的springboot版本,所以随便把依赖的第三方包大部分都升级到了最新版本,暂时没有遇到其他的问题。

tangjieqing的博客 1429

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

JDK 8 升级 17 及 springboot 2.x 升级 3.x 指南

从 JDK 8 升级到 JDK 17 的过程中,有几个主要的变化,特别是 Java Platform Module System (JPMS) 的引入,以及一些包路径的调整。模块化:JDK 9 引入了模块系统,将标准 Java 库划分为多个模块。这影响了 JDK 17 中的包结构和类的组织方式。模块路径:JDK 11 引入了 --module-path 和 --add-modules 选项,允许用户指定模块路径和加载特定模块。

优快云博客技术,java高级工程师,业务层架构师,高级管理认证,毕业设计可以联系我 3513

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Centos8 安装 Redis-8.6.2 及相关配置

在CentOS8上安装Redis8.6.2的简明指南:首先通过源码编译安装,需要安装GCC等编译工具。下载Redis8.6.2源码包并解压后,执行make命令进行编译,建议安装到/usr/local/redis目录。配置redis.conf文件时需注意后台运行、绑定地址、保护模式和密码设置等关键参数。创建systemd服务文件实现系统服务化管理,配置防火墙放行Redis端口(默认6379)。最后通过redis-cli连接测试,确保安装成功。安全方面建议设置强密码、限制远程访问并禁用危险命令。

jacky choise 844

CentOS 8.x安装Nginx+JDK1.8+Mysql8.0.28+Redis6.2.6的详情操作手册

Centos 8.x mysql nginx redis jdk 安装详细手册

zfengfei的博客 1941

Redis介绍及6.2.x版本安装

Redis 是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。什么是BSD协议?BSD是"Berkeley Software Distribution"的缩写,意思是"伯克利软件发行版"。BSD开源协议是一个给于使用者很大自由的协议。可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。

weixin_40426221的博客 365

【保姆级教程】CentOS 7.5/RHEL 7.x 编译安装 Redis 6.0.1

本文详细介绍了在CentOS 7.5/RHEL 7.x系统上编译安装Redis 6.0.1的完整流程。由于Redis 6.x对GCC版本要求较高(≥5),而系统默认GCC版本为4.8.5,因此需要先通过SCL工具升级GCC至9版本。文章从环境准备开始,逐步讲解依赖安装、源码下载解压、编译安装过程,并针对常见的jemalloc报错提供了解决方案。安装完成后,详细说明了Redis的核心配置修改,包括后台运行、IP绑定、密码设置等关键参数。最后验证了Redis的启动状态和基本功能测试。整个过程实测可复现,适合需要

CharlesYuangc的博客 679

乌班图基础设施安装之Mysql8.0+Redis6.X安装

Docker安装按照依赖data lvm2。

ycjunhua的专栏 1368

PhpRedis版本升级终极指南:从5.x到6.x迁移的10个关键注意事项

PhpRedis作为PHP与Redis数据库通信的官方扩展,在6.x版本中带来了重大改进和新特性。本文将为您详细解析从PhpRedis 5.x升级到6.x版本的完整迁移指南,帮助您避免常见的升级陷阱。🚀 ## 🔍 版本兼容性检查 在开始升级之前,首先需要确认您的环境支持PhpRedis 6.x。**PhpRedis 6.0.0** 要求**PHP版本至少为7.2**,这是最重要的前置条件。

gitblog_00434的博客 746

Redis版本升级指南:平滑升级策略与注意事项

本文总结了Redis版本升级的平滑升级策略与关键注意事项。主要内容包括:1) Redis版本发展历程及各版本主要特性,2) 四种升级策略对比(停机升级、蓝绿部署、滚动升级和灰度升级)及其适用场景,3) 升级前准备工作检查清单,涵盖版本兼容性检查、备份状态验证、系统资源评估和配置兼容性检测等关键步骤。升级过程建议采用分阶段验证方式,确保业务连续性,同时需特别注意不同版本间的API变更和配置项废弃情况。

m0_75126572的博客 1079
上一篇: mysql查询父子节点的菜单资源数据
下一篇: RAG元数据索引有关的错
veminhe
博客等级 码龄14年 721粉丝 426原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值