redis连接不上,两种解决方式
今天某个项目的redis连不上了,将自己用到的两个解决办法写篇记录(实际使用时方法二选一即可)。
redis连接不上,两种解决方式
- 一、首先排查本地redis连接有没有问题
- 1. 在服务器上查看redis
- 2. 进入容器测试连接
- 二、连接redis的两种方式(二选一使用即可)
- 1. 第一种:配置远程策略
- 2. 第二种:使用redis network 地址替换作为redis的连接主机地址
- 以上就是两种连接redis的办法。
我们最初在项目的application.yml文件上的redis配置是服务器ip+端口,但是这样的配置项目并没有成功连接redis:
redis:isRedisCache: 1 #是否使用redis缓存database: 0 # Redis数据库索引(默认为0)host: 176.17.0.9 # Redis服务器地址port: 6379 # Redis服务器连接端口password: 123456 # Redis服务器连接密码(默认为空)timeout: 1000 # 连接超时时间(毫秒)
一、首先排查本地redis连接有没有问题
1. 在服务器上查看redis
[root@iZxxxxxxxxx20t8shdhZ ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
137f72546f00 redis "docker-entrypoint.s…" 10 days ago Up 10 days 0.0.0.0:6379->6379/tcp redis
2. 进入容器测试连接
进入容器:docker exec -it 137f72546f00 bash
连接redis:redis-cli -h ip地址 -p 端口
有提示密码则输入:auth 密码, 如 auth 123456
如果能顺利连接,则使用ping命令查看是否能ping通pong。
以下代码举例演示:
[root@iZxxxxxxxxx20t8shdhZ ~]# docker exec -it 137f72546f00 bash
root@137f72546f00:/data# redis-cli -h 176.17.0.9 -p 6379
172.17.0.9:6379> ping
(error) NOAUTH Authentication required.
172.17.0.9:6379> auth 123456
OK
172.17.0.9:6379> ping
PONG
172.17.0.9:6379>
可以看出本地连接是没问题的,redis可以ping通,则表示本地连接redis没有问题
二、连接redis的两种方式(二选一使用即可)
通过上面的测试方式知道了redis本身没问题,那么我们要实现项目的redis连接可以使用以下的两种办法:一是配置阿里云远程策略,二是用当前服务器上的redis network 地址替换作为redis的连接主机地址。
1. 第一种:配置远程策略
项目连接不成功,说明没有开通远程策略。那么就针对配置文件中的服务器地址(如下图)
然后登录阿里云/腾讯云找到云服务器的安全组然后进行配置规则(具体怎么配置可以自行百度):
保存之后项目就可以正常连接redis了。
2. 第二种:使用redis network 地址替换作为redis的连接主机地址
首先要查找到redis的network地址:docker inspect redis
[root@iZxxxxxxxxx20t8shdhZ ~]# docker inspect redis*前面的内容省略,只需要关注从下面的"IPAddress":*"Networks": {"master": {"IPAMConfig": null,"Links": null,"Aliases": ["redis","137f72546f59"],"NetworkID": "507fcefa41123f2f2124467100e6ef772ef9dad7384e363a6c6c02433014ffa9","EndpointID": "734e9bf66314ce664382b1e6a5beada582789afc17dfdc1ee664462a59620e1a","Gateway": "174.12.0.1","IPAddress": "174.16.0.2","IPPrefixLen": 16,"IPv6Gateway": "","GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"MacAddress": "02:42:ac:13:00:03","DriverOpts": null}}
然后将这个174.16.0.2地址放到项目的application.yml文件里作为redis连接主机:
redis:isRedisCache: 1 #是否使用redis缓存database: 0 # Redis数据库索引(默认为0)host: 174.16.0.2 # Redis服务器的network地址port: 6379 # Redis服务器连接端口password: 123456 # Redis服务器连接密码(默认为空)timeout: 1000 # 连接超时时间(毫秒)
重新打包部署,就可以正常连接了。
以上就是两种连接redis的办法。
注意:
如果使用第一种办法即去阿里云配置策略,则yml文件中的redis主机地址就还是服务器本身地址,不用更改配置文件;
如果使用第二种network 地址,则不用配置任何策略。但是如果想在服务器中进入redis容器连接则需要使用network这个地址+端口,不使用服务器本身地址,否则无法连接。
redis连接不上,两种解决方式相关推荐
- mysql启动服务但无法连接不上_mysql服务启动却连接不上两种解决办法
这篇文章主要为大家详细介绍了mysql服务启动却连接不上的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 mysql服务启动,但是连接不上,如何解决? 登陆报错: root@localho ...
- 开灯关灯问题的两种解决方式(数学建模线性代数的应用和编程实现)
开灯关灯问题的两种解决方式 1.问题介绍 2.编程实现算法及其代码(详细) 3.就该题进行数学建模–体验线性代数的使用 1.问题介绍 有一个按钮组成的矩阵,其中每行有5个按钮,共5行.每个按钮旁边有一 ...
- 我的世界 服务器内切换账号密码是多少,我的世界OP查询玩家账号密码 两种解决方式...
我的世界OP查询玩家账号密码 两种解决方式.我的世界服务器中OP想要查询玩家账号登录密码也不是不可以的,但是一般需要插件协助才能完成.目前两种方式可以实现密码查询. 我的世界服务器OP怎么查询玩家密码 ...
- chrome拦截弹窗问题的两种解决方式
chrome拦截弹窗问题的两种解决方式 参考文章: (1)chrome拦截弹窗问题的两种解决方式 (2)https://www.cnblogs.com/CaiDaili/p/9228455.html ...
- redis连接失败的两个解决办法
redis连接大多数失败主要有两个原因 修改下redis的配置文件,redis.conf,把 bind 127.0.0.1 注释掉,protected-mode yes 把yes改为no 这些东西配置 ...
- linux 连接自动断开时间,两种解决SSH连接Linux超时自动断开的方法
引言 个人在工作中经常用xshell远程登录服务器进行各种操作,但因为生产服务器环境变量和ssh配置不尽相同,也造成了工作上的一些不便,比如正在进行中的工作中断,需要重新连接-- 解决ssh连接Lin ...
- hdfs——Attempting to operate on hdfs namenode as root 两种解决方式
root用户启动报错: ERROR: Attempting to operate on hdfs namenode as root ERROR: but there is no HDFS_NAMENO ...
- 468,提莫攻击的两种解决方式
想了解更多数据结构以及算法题,可以关注微信公众号"数据结构和算法",每天一题为你精彩解答.也可以扫描下面的二维码关注 问题描述 在<英雄联盟>的世界中,有一个叫 &qu ...
- 自动弹窗被拦截 html,chrome拦截弹窗问题的两种解决方式
在前端编写中,可能会用到window.open,等方式来在新的tab打开url.但会发现,有些情况下新打开的tab页会被chrome拦截了: 出现这种情况,很有可能是因为:这些调用不是由用户行为(如: ...
最新文章
- template might not exist or might not be accessible by any of the configured Template Resolvers
- Linux 链接详解----动态链接库
- 项目管理基础培训分享
- Python+OpenCV人脸识别技术详解
- 逆向工程核心原理读书笔记-代码注入
- 项目分享:通过使用SSH框架的公司-学员关系管理系统(CRM)
- 有关Vs2008 由代码转化到设计器时死掉问题
- 老司机实战Windows Server Docker:3 单节点Windows Docker服务器简单运维(上)
- python用电度数设计_无所不能的Python之配电设计自动化系统
- 如何随机选取1000个关键字
- 设置三个线程顺序打印数字问题(转载)
- 遗传算法 优化 工具箱 matlab pareto front,matlab遗传算法三目标优化,出来的pareto前沿图只是二维图...
- c# 不同窗体之间传值和调用
- 程序员的终极幻想(一):像操作数据库那样操作大脑的记忆
- 小程序游戏开发一般多少钱?游戏小程序开发制作
- 合工大OJ 1359
- Synchronized和Reentrantlock的区别
- 谁要是再敢用Map传参,我过去就是一JIO
- LoadBalancer整合springboot
- jboot-admin学习