SpringBoot连接Redis失败报错:Unable to connect to Redis; (小白篇)
学习redis一段时间了,现在开始使用springboot整合redis,实现Java与redis数据库的连接与一系列的使用。
但刚开始就给我来了个下马威,直接寄,连接不上redis,在swagger的报错如下:
Unable to connect to Redis; nested exception is org.springframework.data.redis.connection.PoolException: Could not get a resource from the pool; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to localhost:6379\r\n\tat

我连夜写邮件给阳哥(bushi
阳哥人很好,很快就给回信儿了:

经过排查,定位到了错误点:主机与虚拟机不互通
但是很奇怪,虚拟机能ping通主机,但是主机ping不通虚拟机。。。
我十分疑惑也很震惊(无知给人带来的惊愕

于是开始苦苦搜寻解决之道,原来是虚拟机的网络配置问题
一般虚拟机都会提供了三种网络工作模式,分别是:
Bridged(桥接模式):实现虚拟机在真实的网络上;
NAT(网络地址转换模式):实现虚拟机隐藏在物理机之后,能上网,但不能访问物理机;
Host-Only(仅主机模式):实现虚拟机隐藏在物理机之后,不能上网,但可以访问物理机;
这三种模式的具体区别参考:https://zhuanlan.zhihu.com/p/403513377
我的虚拟机一开始是NAT模式,这就印证了为什么我的主机不能ping虚拟机但是虚拟机能ping通主机
所以,如要是主机和虚拟机要互通,需要把虚拟机转换为桥接模式,操作过程如下(virtualbox):
界面名称:读取本机网络连接中的网卡信息,当前本机连接的什么网络就选择哪张网卡。

然后启动虚拟机,关闭防火墙:
查看防火墙状态:firewall-cmd --state
关闭防火墙:systemctl stop firewalld
开启防火墙:systemctl start firewalld
打开网卡配置文件,注意要先进入root模式(su)
cd /etc/sysconfig/network-scripts/
vi ifcfg-enp0s3

修改配置文件:
BOOTPROTO=static
ONBOOT=yes
IPADDR=(设置与主机ip同网段的地址)
GATEWAY=(设置与主机网络相同的网关)

然后重启网络,跟着网上的教程走service network restart,报错了。。。

再次网上冲浪寻找答案后发现
原因是由于 centos8 已经替换了原来的network, 新版的叫:NetworkManager
所以用这个命令就可以重启了 systemctl restart NetworkManager
这个命令成功后,我以为完事了,但是我再ifconfig查看网关配置发现ip根本没有改变。。。
这个时候我心如死灰,以为前面的都是白做了,不过是徒劳。。。
想把全部东西都X掉,然后去睡一觉,但是又不甘心。。。
瞎聊一下:有个名词叫沉没成本,我也是不久前了解的,大概意思就是,你投入的成本已经无法取回了,你就会舍不得放弃,你会近乎痴迷地想要继续下去,
但是,你知道的,你不能因为投了两元币就不下车,当然这只是一个比喻,你的投入何止是两元币,但是这个世界上我们无能为力的事情太多了,
仅凭一人的努力能做到的事情也太有限了。。。所以,该放就得放,学会断舍离。
好吧,这个东西和我今天要做的没啥关系(狗头
但是我就是想把它搞好,把redis连接上,于是我去请教了老师,老师一针见血

sudo ifdown enp0s3
sudo ifup enp0s3
终于!!!ip改成功了!!!
我还是有点忐忑,万一改好了还是连不上咋办,我马上主机和虚拟机互ping,ok,通了!
我赶紧运行springboot,又被泼一身冷水。。。连接失败。。。
这时候真有点绷不住了,但是!!!仔细一看报错信息:
原来忘记改ip了!刚刚在虚拟机改了ip,springboot项目也要把ip改过来

修改配置文件:

启动redis服务器:

然后再启动springboot项目,成功!!!


启动redis客户端查询后,能看到数据也成功写入!

okay,终于是连上了,学习redis的“里程碑式”的成功!哈哈哈哈
一波三折,留下这篇,记录点滴,启示他人。
SpringBoot连接Redis失败报错:Unable to connect to Redis; (小白篇)的更多相关文章
- redis启动报错Could not connect to Redis at 127.0.0.1:6379: 由于目标计算机积极拒绝,无法连接。
报错内容 解决办法 启动redis-server服务 测试 连接成功
- 关于springboot 连接mysql 数据库报错问题
springboot连接MySQL运行报错: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more ...
- CentOS7图形界面启动报错unable to connect to X server
以前还可以正常启动图形界面,这次启动失败,报错unable to connect to X server 使用的是oracle用户,因为我是在oracle用户下创建的oracle数据库等 解决办法: ...
- C# 解决SharpSvn启动窗口报错 Unable to connect to a repository at URL 'svn://....'
在远程机打开sharpsvn客户端测试,结果报错 Svn启动窗口报错 Unable to connect to a repository at URL 'svn://...' 咋整,我在win10我的 ...
- 执行yum命令报错"Unable to connect to Registration Management Service"
问题描述 linux上执行yum相关命令时,报无法连接到注册管理服务的错误,具体报错信息如下 [root@aijihe-core-zy-2-3 ~]# yum install gcc Loaded p ...
- REDIS持久化报错失败
redis log报错: [7666] 15 Jan 00:22:36.028 # Error moving temp DB file on the final destination: Invali ...
- Redis的Unable to connect to Redis和java.io.IOException: 远程主机强迫关闭了一个现有的连接问题的解决
学习项目xhr系统用到springboot + vue(https://github.com/lenve/vhr),文档中要求使用到RabbitMQ,但是从我搭建开发环境来看,是否配置Rabbit ...
- rtmp一些状态信息详解-as连接FMS服务器报错状态汇总~~
原地址:http://help.adobe.com/zh_CN/AIR/1.5/jslr/flash/events/NetStatusEvent.html 下表说明了 code 和 level 属性可 ...
- SpringBoot- springboot集成Redis出现报错:No qualifying bean of type 'org.springframework.data.redis.connection.RedisConnectionFactory'
Springboot将accessToke写入Redisk 缓存,springboot集成Redis出现报错 No qualifying bean of type 'org.springframewo ...
- RedisCluster的rename机制失败报错,解决又是数据倾斜问题
需求说明:spring session中的用户session更新是更新key的名字,所以对于key的操作时需要用newkey 替换oldkey value值只允许存在一个,这里用到rename就很合适 ...
随机推荐
- MySQL高性能索引策略和查询性能优化
前缀索引和索引选择性 有时候需要索引很长的字符,这会让索引变得大且慢.一个策略是模拟哈希索引. 通常可以索引开始的部分字符,这样可以大大解约索引空间,提高索引效率.但这样会降低索引的选择性. 索引的选 ...
- Python的函数和方法如何区分呢?
结论>>>:无论是函数还是方法都用def关键字来定义 方法:只要是自动传值都是方法.由谁来调用.会把自身传入 函数:有几个值就传几个值否则会报错 目录 一.详细介绍函数和方法 二.用 ...
- [Linux]常用命令之【mount/umount】
1 mount mount命令的作用是加载文件系统,它的用权限是超级用户或/etc/fstab中允许的使用者. 在Linux和Unix系统上,所有文件都是作为一个大型树(以/为根)的一部分访问的. 要 ...
- [Java]排序算法>插入排序>【直接插入排序】(O(N*N)/稳定/N较小/有序/顺序存储+链式存储)
1 直接插入排序 1.1 算法思想 插入排序的基本思想是:每一趟将1个待排序的记录,按其关键字的大小插入到已经排好序的一组记录的适当位置上,直到所有待排序记录全部插入为止. 1.2 算法特征 属于[插 ...
- ILLA Cloud: 调用 Hugging Face Inference Endpoints,开启大模型世界之门
一个月前,我们 宣布了与 ILLA Cloud 与达成的合作,ILLA Cloud 正式支持集成 Hugging Face Hub 上的 AI 模型库和其他相关功能. 今天,我们为大家带来 ILLA ...
- day18:json模块&time模块&zipfile模块
json模块 1.关于json的定义 所有的编程语言都能够识别的数据格式叫做json,是字符串能够通过json序列化成字符串与如下类型: (int float bool str list tuple ...
- windows安装zabbix错误代码
zabbix安装:windows安装zabbix客户端很多坑,设计到很多问题,常见的问题有安装完成防火墙没有关闭,zabbix服务端接收不到客户端的信息.zabbix在cmd中安装的时候报错误代码,安 ...
- 【SSM项目】尚筹网(二)基于Servlet3.0项目搭建:日志系统以及声明式事务
1 日志系统 常见的日志系统实现log4j.JUL(jdk自带).log4j2.logback(和SLF4J同一个作者,能够天然衔接),这些实现就类似于java的接口实现,而SLF4J就类似于java ...
- CSS笔记(待完善)
CSS笔记 css权重 ID(100)> class(10)> element(1) css最高权重 !important 块元素(block) 可以设置宽度和高度,独立成行. h1~h6 ...
- AndroidApp加固与脱壳
0x01 APP加固 01.为什么要加固 APP加固是对APP代码逻辑的一种保护.原理是将应用文件进行某种形式的转换,包括不限于隐藏,混淆,加密等操作,进一步保护软件的利益不受损坏.总结主要有以下三方 ...