在windows配置redis的一些错误及解决方案

目录

[Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException:用客户端Redis Desktop Manager一样的密码端口,是可以正常连接的,但是运行java程序之后使用接口请求就会报错](#Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException:用客户端Redis Desktop Manager一样的密码端口,是可以正常连接的,但是运行java程序之后使用接口请求就会报错)

[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](#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)


首先引入相关的依赖:我使用的springBoot版本是 2.5.2

XML 复制代码
<!-- 提供Redis连接池 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-pool2</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
bash 复制代码
spring: 
    # redis配置 
    redis:
        # Redis数据库索引(默认为0)
        database: 1
        # Redis服务器地址
        host: 127.0.0.1
        # Redis服务器连接端口
        port: 6379
        # Redis服务器连接密码(默认为空)
        password: root
        # 连接超时时间
        timeout: 10s
        lettuce:
            pool:
                # 连接池最大连接数
                max-active: 200
                # 连接池最大阻塞等待时间(使用负值表示没有限制)
                max-wait: -1ms
                # 连接池中的最大空闲连接
                max-idle: 10
                # 连接池中的最小空闲连接
                min-idle: 0

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

用客户端Redis Desktop Manager一样的密码端口,是可以正常连接的,但是运行java程序之后使用接口请求就会报错

运行遇到的几个问题:

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

用客户端Redis Desktop Manager一样的密码端口,是可以正常连接的,但是运行java程序之后使用接口请求就会报错,所以对配置文件redis.conf进行如下修改:

bash 复制代码
1. 修改protected-mode配置的值为no

protected-mode 是 Redis 配置文件中的一个选项,用于控制 Redis 是否启用保护模式。当 protected-mode 设置为 yes 时,表示 Redis 处于保护模式,只能通过本地回环地址(127.0.0.1)来访问 Redis 服务,即只允许本地客户端进行连接,而不允许外部网络访问。

bash 复制代码
2. 注释#bind 127.0.0.1

默认情况下,bind 设置为空,表示 Redis 监听所有可用的网络接口,包括本地127.0.0.1和外部网络地址。这意味着 Redis 可以接受来自任何网络接口的连接。当将 bind 设置为具体的 IP 地址或主机名时,Redis 将仅监听指定的网络接口,而不再监听其他网络接口。例如,如果将 bind 设置为 127.0.0.1,则 Redis 只会监听本地回环地址,即只允许本地客户端进行连接,而拒绝来自外部网络的连接。

bash 复制代码
3. 增加redis连接密码

在redis.conf配置文件中搜索requirepass,就可以添加密码了:

然后重新启动redis就行。

上面都配置好后,但是还是报错,报错内容如下:

"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

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

原因是配置文件有问题,刚刚我们的配置文件是:

需要把password修改为 auth:

bash 复制代码
  redis:
    database: 0
    host: localhost
    port: 6379
    auth: abc123456

这样就可以正常访问了!

相关推荐
阿狗童鞋32 分钟前
Redis实战指南
数据库·redis·缓存
sukalot1 小时前
Windows 驱动实例分析系列:libwdi 驱动分析 - examples 篇(一)
windows·驱动开发
frjc1 小时前
数据库选型:如何从众多数据库中选出最理想的那一个
redis·mysql·clickhouse·elasticsearch
加载力科技1 小时前
硬盘咔咔响是坏盘信号!赶在数据丢失前克隆换盘:不重装系统、不丢文件
windows·嵌入式硬件·系统安全·策略模式·命令模式·硬盘
lupai2 小时前
维修保养记录精准版 API 对接实战指南
数据库·python
panpan16193 小时前
Redis命令大全
redis
2601_962364974 小时前
电脑人脸解锁的安全基石,聊聊 Windows Hello 硬件规范
windows·安全·电脑
2601_952196364 小时前
计算机科学与技术专业应届生投商业分析岗,需要哪些额外能力?
数据库·oracle
皮皮学姐分享-ppx4 小时前
地级市、省级人才政策强度测算(2000-2025)
大数据·数据库·人工智能·百度·高考
晚安日记wanna5 小时前
大厂禁 JOIN 的真正原因,拆到第四层才清楚
数据库·后端·面试