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

网页部署到宝塔服务器上,发送请求报错?org.springframework.data.redis.RedisSystemException,让我来看看

这几天在部署项目的时候会发现的一个问题是,配置都没有什么问题,但是进入网页操作功能的时候却报错了,报错是这样:

Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@57d08368] was not registered for synchronization because synchronization is not active
JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@5666456f] will not be managed by Spring
==> Preparing: select * from admins where account=?
==> Parameters: admin1(String)
<== Columns: aid, account, controller, password, manage_users, manage_meetings, manage_events, manage_check_ins, publish_news, edit_home_page, manage_propositions, manage_public, propositions_dep_id, public_dep_id, status, is_super_admin, registration_time, update_time, logout_time
<== Row: 2, admin1, 管理员叶子, *****, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 已注销, 0, 2025-02-09 04:27:13, 2025-03-19 22:44:36, 2025-03-01 18:55:59
<== Total: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@57d08368]
2025-04-09T09:29:53.088+08:00 ERROR 1771663 --- [nio-8090-exec-6] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.springframework.data.redis.RedisSystemException: Error in execution] with root cause

io.lettuce.core.RedisReadOnlyException: READONLY You can't write against a read only replica.
at io.lettuce.core.internal.ExceptionFactory.createExecutionException(ExceptionFactory.java:148) ~[lettuce-core-6.4.2.RELEASE.jar!/:6.4.2.RELEASE/f4dfb40]
at io.lettuce.core.internal.ExceptionFactory.createExecutionException(ExceptionFactory.java:120) ~[lettuce-core-6.4.2.RELEASE.jar!/:6.4.2.RELEASE/f4dfb40]
at io.lettuce.core.protocol.AsyncCommand.completeResult(AsyncCommand.java:124) ~[lettuce-core-6.4.2.RELEASE.jar!/:6.4.2.RELEASE/f4dfb40]
at io.lettuce.core.protocol.AsyncCommand.complete(AsyncCommand.java:115) ~[lettuce-core-6.4.2.RELEASE.jar!/:6.4.2.RELEASE/f4dfb40]
at io.lettuce.core.protocol.CommandHandler.complete(CommandHandler.java:749) ~[lettuce-core-6.4.2.RELEASE.jar!/:6.4.2.RELEASE/f4dfb40]
at io.lettuce.core.protocol.CommandHandler.decode(CommandHandler.java:684) ~[lettuce-core-6.4.2.RELEASE.jar!/:6.4.2.RELEASE/f4dfb40]
at io.lettuce.core.protocol.CommandHandler.channelRead(CommandHandler.java:601) ~[lettuce-core-6.4.2.RELEASE.jar!/:6.4.2.RELEASE/f4dfb40]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.117.Final.jar!/:4.1.117.Final]
at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]

主要原因是:io.lettuce.core.RedisReadOnlyException: READONLY You can't write against a read only replica.这主要是指Redis实例被配置为只读副本(read-only replica)模式,但是应用程序却尝试对其进行写操作。

看到这个报错原因我就有点疑惑了,查了一下资料,都要操作修改好多地方,但是这时候我想到我的宝塔上是有部署redis的,针对我的这种情况,所以接下来,我直接一招解决:

启用重启大法!!!

 事实证明,这个方法非常有用。几乎是出现一次这个问题,就重启一下。这个可能是跟我修改了配置文件有关,因为本地上的redis没有设置密码,但是在宝塔上操作的时候我随手设置了一个,导致在本地测试的时候我需要注释一下,然后有时候压缩jar包上传上去就会忘记恢复回来,就手动去修改了配置的文件。这是我想到的一个原因:本地开发和服务器部署时使用不同的Redis配置可能就会导致连接问题。

http://www.dtcms.com/a/121930.html

相关文章:

  • 算法训练之动态规划(一)
  • 为什么在Altium原理图中画线会自动链接到附近?
  • Zephyr、FreeRTOS、RT-Thread 定时器区别分析
  • 【Ragflow】14.MinerU解析脚本,接入ragflow知识库
  • Windows 图形显示驱动开发-WDDM 2.0功能_供应和回收更改
  • Seq2Seq - GRU补充讲解
  • DP_AUX辅助通道介绍
  • Testbench设计
  • 起跑有几种起跑方式·棒球1号位
  • 【嵌入式系统设计师】知识点:第11 章 嵌入式系统设计案例分析
  • MQ保证消息幂等
  • (四十一)Dart 中的空安全与 `late` 关键字教程
  • 网络基础-路由技术和交换技术以及其各个协议
  • 每日算法-250409
  • 智能体:重塑未来的智能助手及其在产品设计中的应用
  • 逻辑分析仪怎么用?怎么看PWM(以Saleae为例)​
  • TQTT_KU5P开发板教程---DDR4基于IP核 SDRAM(MIG)的测试
  • 接口测试性能指标:QPS、TPS、OTPS、TP99
  • 【深度学习基础】Temporal Fusion Transformer
  • TCP转发隧道
  • Go并发背后的双引擎:CSP通信模型与GMP调度|Go语言进阶(4)
  • K8S学习之基础七十九:关闭istio功能
  • 【c语言】倒置字符串
  • map/multimap
  • vue3项目中实现国际化语言切换【直接粘贴即可】
  • Windows找不到compiler.automake.allow.when.app.running怎么设置?
  • ArcGIS Engine开发教程--从零搭建GIS桌面应用
  • Redis学习总结(持续更新)
  • mysql之等值连接8个实例
  • 不同服务器架构(x86、ARM、Power、SPARC)对数据库使用的影响