今天某个项目的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连接不上,两种解决方式相关推荐

  1. mysql启动服务但无法连接不上_mysql服务启动却连接不上两种解决办法

    这篇文章主要为大家详细介绍了mysql服务启动却连接不上的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 mysql服务启动,但是连接不上,如何解决? 登陆报错: root@localho ...

  2. 开灯关灯问题的两种解决方式(数学建模线性代数的应用和编程实现)

    开灯关灯问题的两种解决方式 1.问题介绍 2.编程实现算法及其代码(详细) 3.就该题进行数学建模–体验线性代数的使用 1.问题介绍 有一个按钮组成的矩阵,其中每行有5个按钮,共5行.每个按钮旁边有一 ...

  3. 我的世界 服务器内切换账号密码是多少,我的世界OP查询玩家账号密码 两种解决方式...

    我的世界OP查询玩家账号密码 两种解决方式.我的世界服务器中OP想要查询玩家账号登录密码也不是不可以的,但是一般需要插件协助才能完成.目前两种方式可以实现密码查询. 我的世界服务器OP怎么查询玩家密码 ...

  4. chrome拦截弹窗问题的两种解决方式

    chrome拦截弹窗问题的两种解决方式 参考文章: (1)chrome拦截弹窗问题的两种解决方式 (2)https://www.cnblogs.com/CaiDaili/p/9228455.html ...

  5. redis连接失败的两个解决办法

    redis连接大多数失败主要有两个原因 修改下redis的配置文件,redis.conf,把 bind 127.0.0.1 注释掉,protected-mode yes 把yes改为no 这些东西配置 ...

  6. linux 连接自动断开时间,两种解决SSH连接Linux超时自动断开的方法

    引言 个人在工作中经常用xshell远程登录服务器进行各种操作,但因为生产服务器环境变量和ssh配置不尽相同,也造成了工作上的一些不便,比如正在进行中的工作中断,需要重新连接-- 解决ssh连接Lin ...

  7. 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 ...

  8. 468,提莫攻击的两种解决方式

    想了解更多数据结构以及算法题,可以关注微信公众号"数据结构和算法",每天一题为你精彩解答.也可以扫描下面的二维码关注 问题描述 在<英雄联盟>的世界中,有一个叫 &qu ...

  9. 自动弹窗被拦截 html,chrome拦截弹窗问题的两种解决方式

    在前端编写中,可能会用到window.open,等方式来在新的tab打开url.但会发现,有些情况下新打开的tab页会被chrome拦截了: 出现这种情况,很有可能是因为:这些调用不是由用户行为(如: ...

最新文章

  1. template might not exist or might not be accessible by any of the configured Template Resolvers
  2. Linux 链接详解----动态链接库
  3. 项目管理基础培训分享
  4. Python+OpenCV人脸识别技术详解
  5. 逆向工程核心原理读书笔记-代码注入
  6. 项目分享:通过使用SSH框架的公司-学员关系管理系统(CRM)
  7. 有关Vs2008 由代码转化到设计器时死掉问题
  8. 老司机实战Windows Server Docker:3 单节点Windows Docker服务器简单运维(上)
  9. python用电度数设计_无所不能的Python之配电设计自动化系统
  10. 如何随机选取1000个关键字
  11. 设置三个线程顺序打印数字问题(转载)
  12. 遗传算法 优化 工具箱 matlab pareto front,matlab遗传算法三目标优化,出来的pareto前沿图只是二维图...
  13. c# 不同窗体之间传值和调用
  14. 程序员的终极幻想(一):像操作数据库那样操作大脑的记忆
  15. 小程序游戏开发一般多少钱?游戏小程序开发制作
  16. 合工大OJ 1359
  17. Synchronized和Reentrantlock的区别
  18. 谁要是再敢用Map传参,我过去就是一JIO
  19. LoadBalancer整合springboot
  20. jboot-admin学习

热门文章

  1. Deep InfoMax (DIM)
  2. 光电二极管(Photo-Diode)工作原理 与输出电压计算
  3. 量化交易-Backtrader回测
  4. 912 计算机考研专业课,清华912计算机专业基础综合考研高分经验
  5. 3d人体姿态估计资料
  6. Eudemon在配置了NAT与ACL时对数据包处理流程
  7. PyTest管理自动化测试用例
  8. 计算机比特有大小吗,比特大小- 比特犬一般能长多大
  9. 论文阅读:MAVL: Multiresolution Analysis of Voice Localization
  10. 【算法】推步聚顶 计算多边形的面积