amazon-web-services - 使用 java Jedis 连接到 aws elasticache redis
问题描述
目前我正在使用 jedis 连接到我的本地 redis 服务器,使用:
pool = new JedisPool("redis://localhost:6379/10");
然后我想在我的 spring boot 应用程序中使用 elasticache redis。我得到 elasticache redis 的主要端点是 aws 控制台:
*****.7xxpzn.ng.0001.use2.cache.amazonaws.com:6379
我尝试使用以下方法连接到 redis:
pool = new JedisPool("*****.7xxpzn.ng.0001.use2.cache.amazonaws.com:6379");
但是它会引发错误:
Exception in thread "main" java.lang.IllegalArgumentException: Illegal character in authority at index 8: redis://*****.7xxpzn.ng.0001.use2.cache.amazonaws.com:6379
at java.net.URI.create(URI.java:852)
at redis.clients.jedis.BinaryJedis.<init>(BinaryJedis.java:31)
at redis.clients.jedis.Jedis.<init>(Jedis.java:26)
at com.quora.util.JedisAdapter.main(JedisAdapter.java:32)
Caused by: java.net.URISyntaxException: Illegal character in authority at index 8: redis://*****.7xxpzn.ng.0001.use2.cache.amazonaws.com:6379
at java.net.URI$Parser.fail(URI.java:2848)
at java.net.URI$Parser.parseAuthority(URI.java:3186)
at java.net.URI$Parser.parseHierarchical(URI.java:3097)
at java.net.URI$Parser.parse(URI.java:3053)
at java.net.URI.<init>(URI.java:588)
at java.net.URI.create(URI.java:850)
... 3 more
任何专家都可以给我一些关于如何使用 jedis 连接到 elasticache redis 的建议吗?
谢谢,
彼得
解决方案
我遇到了类似的问题,我认为问题在于您的 ELB 主机名或我打赌的其他特殊字符中有破折号。您可能必须使用 route53 通过为其创建别名来解决此问题。
我遇到的另一个问题是“主机名”部分中的空格或其他空白字符(尽管我看到您上面的示例没有这个问题)但仍然只是指出它。
推荐阅读
- swiftui - 在 SwiftUI 中点击手势时无法显示视图
- python - AttributeError:“响应”对象没有“读取”属性。使用请求和 jsons
- excel - 当目标值更改源自公式时更新 VBA 代码
- reactjs - 使用 React Hooks 的条件
- node.js - 如何使用 Apollo 分离 GraphQL 模式和解析器文件?
- arrays - Swift - 创建一个混合值数组
- html - 做元素有预设宽度?
- html - 在 Chrome 中强制跨 CSS 列分布图像
- r - 如何将矩阵式数据框转换为折叠表?
- dotnetnuke - 如何在调度程序的 DoWork() 方法中检索 DNN ModuleSetting 或 TabSetting?