今天某个项目的redis连不上了,将自己用到的两个解决办法写篇记录(实际使用时方法二选一即可)。
redis:
isRedisCache: 1 #是否使用redis缓存
database: 0 # Redis数据库索引(默认为0)
host: 176.17.0.9 # Redis服务器地址
port: 6379 # Redis服务器连接端口
password: 123456 # Redis服务器连接密码(默认为空)
timeout: 1000 # 连接超时时间(毫秒)
[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
进入容器: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 network 地址替换作为redis的连接主机地址。
项目连接不成功,说明没有开通远程策略。那么就针对配置文件中的服务器地址(如下图)
然后登录阿里云/腾讯云找到云服务器的安全组然后进行配置规则(具体怎么配置可以自行百度):
保存之后项目就可以正常连接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 # 连接超时时间(毫秒)
重新打包部署,就可以正常连接了。
注意:
如果使用第一种办法即去阿里云配置策略,则yml文件中的redis主机地址就还是服务器本身地址,不用更改配置文件;
如果使用第二种network 地址,则不用配置任何策略。但是如果想在服务器中进入redis容器连接则需要使用network这个地址+端口,不使用服务器本身地址,否则无法连接。
文章浏览阅读422次。java synchronized详解记下来,很重要。Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块..._java make synchronized invalid
文章浏览阅读1.9w次,点赞6次,收藏32次。一,Vysor1,Vysor特点及优点特点或者说优点:极强的跨平台性能,Mac、Windows、Linux系统上都可以用;免费;无需Android系统Root 即可玩转电脑控制Android 设备;2,官网https://www.vysor.io/3,使用3.1,Win客户端(建议使用)直接下载windows客户端安装,运行就可以使用,使用也很简单,可以通过局域网和数据线连接Android设备,然后实现投屏;3.2,Chrome浏览器3.2.1,从官网Download进入_total control
文章浏览阅读144次。概念:在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为 Java 语言的反射机制。简单来说,反射机制指的是程序在运行时能够获取自身的信息。在 Java 中,只要给定类的名字,就可以通过反射机制来获得类的所有信息。类的加载机制:new 对象()1.JVM加载对象.class文件1.1JVM在硬盘找对象.class文件并读取到内存中1.2JVM自动创建..._object o3 = m; object o4 = n; system.out.println(o3 == o4)
文章浏览阅读414次。ndk_r15c (July 2017)Windows 32-bit :https://dl.google.com/android/repository/android-ndk-r15c-windows-x86.zipWindows 64-bit :https://dl.google.com/android/repository/android-ndk-r15c-windows-x86_64.zipMac OS X :https://dl.google.com/android/repositor_android-ndk-r10e和ndk 29差别
文章浏览阅读4.1k次,点赞3次,收藏16次。简介grep命令(Global Regular Expression Print)是 Linux系统中一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来 。grep 是linux中最为常用的三大文本(awk,sed,grep)处理工具之一,所以有必要掌握其用法。grep家族总共有三个成员构成:grep、egrep、fgrep。使用格式grep [选项] ..._linux命令+grep
文章浏览阅读3.9w次,点赞29次,收藏121次。最近在导入外来项目时,遇到了一个难题,就是出现了图中的错误。the selection cannot be run on any server(无法在任何服务器上运行所选内容)这个错误的原因在于Dynamic Web Module 的版本与server不匹配。Dynamic Web Module的版本可以通过右键项目名->properties->Project Facets可以..._the selection cannot be run on any server
文章浏览阅读804次。会话cookieAre you new to web-development, feeling confused with different Web Storage elements? 您是Web开发的新手,对不同的Web存储元素感到困惑吗? If yes, then you are at the right place This article will give you a brief e..._会话和令牌
文章浏览阅读3.6k次。在Linux的vi编辑器中,如果要查看指定文件中的某项内容,由于内容过于庞大,可以打开vi编辑器后再打一个【/】,括号中间的字符,然后输入你要查找的字符这样就可以找到你需要的字符了,方便我们查看大容量的日志文件。_linux查找指定字符后的数据
文章浏览阅读2.5k次。编译chromium 总结http://www.chromium.org/developers/how-tos/build-instructions-windows这是官网的详细地址,但我只用他的说明还不够 可以参考这篇文章http://blog.sina.com.cn/s/blog_41608ead0101578b.htmlwin7+vs2010+vs2010SP1+DIR_$(includepath);$(dxsdk_dir)include
文章浏览阅读61次。2 .搭建Struts开发环境 2.1 搭建环境l 导入jar 包。 Add Library 导入jar包 l 建立一个配置文件:struts-config.xml <...
文章浏览阅读695次。稳定排序Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4632 Accepted Submission(s): 1802Problem Description大家都知道,快速排序是不稳定的排序方法。_wygoj
文章浏览阅读2.3w次,点赞9次,收藏17次。Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,在使用JAVA的时候,一般不需要专门编写内存回收和垃圾清理代 码。这是因为在Java虚拟机中,存在自动内存管理和垃圾清扫机制。电脑的内存大小的不变的,当我们使用对象的时候,如使用New关键字的时候,就会在内存中生产一个对象,但是我们在使用JAVA开发的时候,当一个对象使用完_gc钱包是干嘛的?