springboot 连接不上 redis 的三种解决方案!

675 阅读3分钟

针对于这种情况,首先,我们最简单直接的方法就是需要确认Redis是否已经正常启动(验证方法:如果安装在Linux下的话可以使用ps-ef|grep redis来进行确认是否开启)

如果未开启,我们可以选择输入相关命令操作来开启Redis:

第一种:先进入到redis src目录下(根据自己安装的地方可以通过cd命令进入指定目录,然后使用ls命令查看当前目录下或者指定目录下的所有文件和目录来寻找是否有src目录),进入src里面之后,可以直接输入./redis-server命令就可以开启redis(但是这种启动方式有个缺点就是,Redis在启动之后需要一直打开这个窗口,如果这个窗口关掉Redis服务也会被关掉)。

第二种:为了防止窗口关闭Redis服务也随之关闭的情况,我们需要使用后台进程方式来启动Redis,简单来讲就是让他这个窗口一直打开。

首先我们只需要修改redis.conf文件即可(通过ls命令找到redis.conf文件)

再通过vi编辑器来进入redis.conf文件

进入文件之后我们只需要修改守护线程(这一步真的非常简单啦)

修改之后就可以启动啦(根据自己的目录进入就可以啦!!)

当然关闭的时候我们需要查找进程的方式来进行关闭哦,因为现在已经转成后台执行了嘛,毕竟它的服务我们是看不见滴!

很简单,关闭的时候我们先用ps-aux|grep redis查看redis进程(会显示对应的redis服务信息,我们通过redis进程标号杀死进程。例如图中的进程编号是4609,我们通过输入kill-9 4609的命令杀死这条进程就可以)。

以上就是关于后台进程的启动跟关闭方法,是不是很简单的,对照输入相关命令就可以啦,而且这种后台启动的好处就是,开启redis之后,再也不用担心进行其他操作的时候造成redis服务关闭啦!

其次如果不是因为Redis本身没有正常启动成功,那么可以考虑下面这种情况:

第一种:查看防火墙是否打开6379端口(可以使用systemctl status firewalld命令来查看防火墙的状态),

1.输入开启端口命令(-permanent:是永久生效的意思)

2.重启防火墙命令

3.查看防火墙开放端口命令(查看里面是否有6379端口)

第二种:修改application.yml的redis配置中的spring.redis.timeout中连接超时时间

第三种:找到你们安装redis时候的配置文件进行修改(通过执行vim/vi redis.conf命令),

第一步:需要将bind 127.0.0.1进行修改(因为如果不修改的话,bind 127.0.0.1生效后,就只能本机访问redis,所以我们可以尝试修改成 bind 0.0.0.0 这样所有的ip就都可以进行访问,但是需要注意的是:再部署的时候还是建议还原)

第二步:将protected-mode yes 改成:protected-mode no(因为redis3.2版本增加了protected-mode配置,默认是yes,即开启。如果要设置让外部网络连接redis服务就必须先关闭这个模式,否则外部网络无法直接访问,其次就是开启protected-mode保护模式的时候,需配置一个bind ip或者是设置访问密码)

以上就是我个人在出现此类问题时的几个简单的解决方案,大家可以根据自己的个人情况找到相应的解决方案,希望对大家有所帮助哦!