SpringBoot无法连接redis

在用springboot整合redis的过程中发现无法连接到redis,用了网上的解决流程并没有解决问题,最后发现原来是云服务器没有开放端口(光在虚拟机上开放6379端口不行)

这是报错信息

org.springframework.data.redis.RedisConnectionFailureException: 
Unable to connect to Redis; 
nested exception is io.lettuce.core.RedisConnectionException:
Unable to connect to 8.130.29.45:6379

这是配置文件

# Redis服务器地址
spring.redis.host=8.130.29.45 
# Redis服务器连接端口
spring.redis.port=6379
# 连接超时时间(毫秒)
spring.redis.timeout=5000

这是依赖

	    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
        </dependency>

在这里插入图片描述

解决方案:

进入redis-config

1.修改 protected-mode yes 改为:protected-mode no(关闭保护模式)

2.注释掉 #bin 127.0.0.

3.后台启动daemonize 改为yes在这里插入图片描述4.开启6379端口号或关闭防火墙
方案一:永久关闭防火墙:(我用的方法)

systemctl disable firewalld

方案二:开启6379端口

查看是否开启
firewall-cmd --zone=public --query-port=6379/tcp
[root@iZ0jlb0dvaeqvxytgqq4a8Z ~]# firewall-cmd --zone=public --query-port=6379/tcp
yes

如果为no则打开

开启命令
[root@bogon bin]# firewall-cmd --zone=public --add-port=6379/tcp --permanent 
重载
[root@bogon bin]# firewall-cmd --reload  
重新查看
firewall-cmd --zone=public --query-port=6379/tcp

5.做完以上记得重启redis

重新测试
结果还是不尽人意,还是无法连接我们的公网ip
打开我们的阿里云服务器

发现原来我们虽然在虚拟机上开放了6379端口,但是在我们的云服务器上并没有开放6379端口

手动添加后重新测试
在这里插入图片描述
测试成功了~
在这里插入图片描述
如果还是没有解决问题
输入命令

[root@iZuf6fqj5vfms2idodr6uwZ bin]# ps -ef|grep redis

在这里插入图片描述
这里如果是127.0.0.1说明配置文件没有生效,我们需要杀死这个进程
执行

kill 1945028 

然后注释掉 #bin 127.0.0. 或者改为bind 0.0.0.0
重启redis

再次查看

[root@iZuf6fqj5vfms2idodr6uwZ bin]# ps -ef|grep redis

在这里插入图片描述
0.0.0.0代表所有ip都能访问 这样也成功了

总结:

要记得不光在虚拟机上开放端口,在我们的云服务器上也要开放6379端口

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要在Spring Boot 2.7.0中连接Redis,您需要完成以下步骤: 1. 添加Redis依赖项:在pom.xml文件中添加以下依赖项: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> ``` 2. 配置Redis连接信息:在application.properties文件中添加以下配置信息: ```properties spring.redis.host=127.0.0.1 spring.redis.port=6379 spring.redis.password= ``` 3. 创建RedisTemplate Bean:创建RedisTemplate Bean以便在应用程序中使用Redis。以下是示例代码: ```java @Configuration public class RedisConfig { @Bean public RedisConnectionFactory redisConnectionFactory() { return new LettuceConnectionFactory(); } @Bean public RedisTemplate<String, Object> redisTemplate() { RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>(); redisTemplate.setConnectionFactory(redisConnectionFactory()); redisTemplate.setKeySerializer(new StringRedisSerializer()); redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<>(Object.class)); return redisTemplate; } } ``` 4. 在应用程序中使用Redis:在您的应用程序中,您可以使用自动装配来注入RedisTemplate Bean,并使用以下代码执行Redis操作: ```java @Autowired private RedisTemplate<String, Object> redisTemplate; public void put(String key, Object value) { redisTemplate.opsForValue().set(key, value); } public Object get(String key) { return redisTemplate.opsForValue().get(key); } ``` 这是在Spring Boot 2.7.0中连接Redis的基本步骤。您可以根据需要进行更改和调整。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值