Q1: redis服务关闭前确认数据还是在的,重启后发现一条数据都没了,key* 查也是空的

A1: 经仔细检查发现redis.conf配置文件配置的数据存储目录配置的是dir ./ 也就是相对目录,也就是说在哪个目录执行redis-server redis.config启动命令 redis数据就会存到哪个目录,同样就会加载哪个目录下的数据文件(dump.rdb),前后两次启动命令的位置不一样导致第二次启动没有加载到(dump.rdb)文件,从而导致查不出数据

Q2:springboot 集成redis服务,redis是搭建的集群服务,本地测试都没问题,部署到服务器上后一直报错:

Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect

Caused by: java.lang.UnsupportedOperationException: null

A2: 发现问题后,想着lettuce连接池报错,连接不上,那就换成jedis吧,一通鼓捣换成了jedis连接池再部署,倒是能查出数据来了,心想什么破lettuce,还是jedis好用,然后开始缓存数据(大批量数据缓存redis用的是Pipelined管道,快速存储嘛),完犊子又报错了:

redis.clients.jedis.exceptions.JedisDataException: Cannot use Jedis when in Pipeline. Please use Pipeline or reset jedis state . 说jedis用不了Popeline(经查资料发现jedis没提供管道查询功能),你妹的用不了你不早说。。。。咱又不能不用管道,自己实现又太麻烦)

算了换回lettuce,抽丝剥茧自己重新搭了个简单的redis测试服务,丢到服务器上测试,发现竟然没报错。。。这你妹的;经对比发现我的测试服务用的springboot2.6.1 而报错的服务用的是springboot2.1.4, 另外服务器上是redis7.0,而我本地redis是3.2的

所以结论是:springboot2.1.4+lettuce+redis7.0 会报如上的异常 而springboot2.6.1+lettuce+redis7.0就不会报错,但又不能直接将springboot2.1.4 升级成springboot2.6.1,那样可能会引起其它的问题,所以直接将lettuce升级倒springboot2.6.1所使用的lettuce版本就行了如下

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
<!--去掉springboot2.1.4自带的lettuce版本--><exclusions><exclusion><groupId>io.lettuce</groupId><artifactId>lettuce-core</artifactId></exclusion></exclusions>
</dependency>
<!--依赖springboot2.6.1自带的lettuce版本-->
<dependency><groupId>io.lettuce</groupId><artifactId>lettuce-core</artifactId><version>6.1.5.RELEASE</version><scope>compile</scope>
</dependency>

至此问题解决,收工。。

记一次Redis出问题及解决方案相关推荐

  1. Spring Security——集成Spring Session、Redis和JSON序列化解决方案

    官方文档 https://docs.spring.io/spring-session/docs/2.4.2/reference/html5/#spring-security Maven 主要 < ...

  2. Spring Session Redis——自定义JSON序列化解决方案

    问题描述 Spring Session + Redis--自定义JSON序列化解决方案 问题分析 RedisHttpSessionConfiguration中,Bean名称必须是springSessi ...

  3. 小程序自定义tabbar custom-tab-bar 6s出不来解决方案,cover-view不兼容

    小程序自定义tabbar custom-tab-bar 6s出不来解决方案,cover-view不兼容 参考文章: (1)小程序自定义tabbar custom-tab-bar 6s出不来解决方案,c ...

  4. Spring+Dubbo集成Redis的两种解决方案

    Spring+Dubbo集成Redis的两种解决方案 参考文章: (1)Spring+Dubbo集成Redis的两种解决方案 (2)https://www.cnblogs.com/yclimb/p/9 ...

  5. redis指定配置文件启动不生效_Windows Redis默认配置文件,Redis配置不生效解决方案...

    Windows Redis默认配置文件,Redis配置不生效解决方案, Windows Redis自启动配置不生效解决方案,Windows Redis增加自动启动服务 >>>> ...

  6. 记录家里路由器、光猫出问题的解决方案

    记录家里路由器.光猫出问题的解决方案 电视盒子无法连接到网络 某个WIFI信号无法上网,其他WIFI正常 电视盒子无法连接到网络 重启客厅的360路由器,简单,直接,且有用. 如果还是不行,就重启客厅 ...

  7. 根据印刷行业的特点,整理出MES管理系统解决方案

    印刷行业中,与ERP管理系统相关的功能模块主要包含销售预测.生产计划.物料需求等.作为ERP系统的下层信息系统,MES生产执行系统的计划执行来源于上层ERP系统中的生产订单,并在MES生产执行系统中生 ...

  8. 记一次EFCore类型转换错误及解决方案

    记一次EFCore类型转换错误及解决方案 参考文章: (1)记一次EFCore类型转换错误及解决方案 (2)https://www.cnblogs.com/seekdream/p/11748975.h ...

  9. win10无法弹出移动硬盘个人解决方案

    win10无法弹出移动硬盘个人解决方案 在使用win10系统的时候我的移动硬盘无法弹出(硬盘西数蓝盘,加装硬盘盒),点击安全删除硬件无反应,同时用的是win10家庭版系统,"磁盘管理&quo ...

最新文章

  1. SAP Spartacus 的 CSS 架构
  2. 牛客假日团队赛5J 护城河 bzoj 1670: [Usaco2006 Oct]Building the Moat护城河的挖掘 (凸包的周长)...
  3. springboot webservice cxf 客户端调用
  4. P3193 [HNOI2008]GT考试
  5. mysql数学函数名_MYSQL 常见数学函数说明
  6. 三星Galaxy Fold全球翻车后 推迟发售时间进一步改进
  7. 一个简单的javascript时钟程序
  8. 结构专业规范大全_一级注册结构工程师专业考试所使用的规范、标准、规程
  9. 游戏日志分析2:全方位数据采集
  10. 使用大数据分析需要注意什么因素
  11. 纯真IP库PHP查询
  12. 研究validation插件到现在的感受
  13. Labview2019安装
  14. javaweb后台管理系统
  15. 计算机设置u盘启动,③、设置U盘启动教程
  16. TSE2019-The Art, Science, and Engineering of Fuzzing: A Survey
  17. 李白打酒加强版(dp)
  18. 异地多活(异地双活)实践经验
  19. 用c#二次开发的焊锡检测视觉系统
  20. 老毛子(华硕)固件ipv6及dmz主机设置

热门文章

  1. 怎样用Netfilter/IPtables控制P2P流量
  2. 运动用品品牌排行榜,2022年最值得买的运动装备
  3. IPv4/IPv6、DHCP、网关、路由
  4. ps大图缩小让小图更清晰
  5. 基本模块 time datetime randon os sys subprocess 打印进度条
  6. Excel VBA 代替Sumproduct实现多条件求和
  7. java 农历_java怎么取得农历的节日
  8. 获取农历节日的公共方法
  9. H5音乐播放器(小清新版)
  10. 前端前端开发工程师_我们庞大的工程师团队会使用此前端开发指南