在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

这样就可以正常访问了!

相关推荐
h***5933几秒前
MySQL如何执行.sql 文件:详细教学指南
数据库·mysql
郑重其事,鹏程万里几秒前
键值存储数据库(chronicle-map)
数据库·oracle
Doro再努力9 分钟前
【MySQL数据库09】外键约束与多表查询基础
数据库·mysql
ss27331 分钟前
019:深入解析可重入互斥锁:原理、实现与线程安全实践
java·数据库·redis
皮皮林55134 分钟前
Redis:大数据中如何抗住2000W的QPS
redis
luyun02020238 分钟前
牛批了,某音录播神器
java·windows·figma
O***Z6161 小时前
三分钟内快速完成MySQL到达梦数据库的迁移
数据库·mysql
a***56061 小时前
Windows上安装Go并配置环境变量(图文步骤)
开发语言·windows·golang
友友马2 小时前
『QT』窗口 (一)
开发语言·数据库·qt
q***78372 小时前
SQL实现md5加密方法
数据库·sql