Check whether the firewall opens port 6379. Check the firewall status
systemctl status firewalld
If the firewall is not started. You can choose to look directly at the latter two methods.
Or just open the firewall, and then continue with the following steps:
firewall-cmd --zone-public --add-port=6379/tcp --permanent #显示 success
–permanent means permanent, it will be invalid after restarting without this parameter
firewall-cmd --reload #显示 success
firewall-cmd --list-ports
Check whether there is port 6379
firewall-cmd --zone=public --query-port=6379/tcp #显示 yes
Modify the connection timeout in spring.redis.timeout in the redis configuration of application.yml
redis: database: 0 #redis 数据库索引(默认为0) host: 192.168.200.131 #redis 服务器地址 port: 6379 #redis 服务器连接端口号 password: #redis 服务器连接密码 默认为空 lettuce: pool: max-active: 8 # 连接池最大连接数(使用负值表示没有限制) 默认8 max-wait: -1 #连接池最大阻塞等待时间(使用负值表示没有限制) 默认-1 max-idle: 8 #连接池最大空闲连接 默认8 min-idle: 0 #连接池最小空闲连接 默认 0 timeout: 5000 # 超时时间
Modify the redis configuration file redis.conf
Find the configuration file when you installed redis.
Execute the command: vim/vi redis.conf
(1) Will bind 127.0.0.1 (reason: bind 127.0.0.1 takes effect, you can only access redis locally).
Or change it to: bind 0.0.0.0. All IPs are accessible. It is recommended to restore during deployment.
(2) Change protected-mode yes to: protected-mode no
Reason: protected- was added after redis3.2 version mode configuration, the default is yes, which is enabled. Set up the external network to connect to the redis service. The setting method is as follows:
1. Turn off the protected-mode mode. At this time, the external network can
be directly accessed
2. To enable protected-mode protection mode, you need to configure bind ip or set an access password
The above is the detailed content of How to solve the problem that springboot cannot connect to redis. For more information, please follow other related articles on the PHP Chinese website!