当前,我正在使用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连接到Redache的信息吗?
谢谢
彼得
答案 0 :(得分:0)
我遇到了类似的问题,我相信问题是您的ELB主机名中有破折号或我打赌的另一个特殊字符。您可能必须使用route53通过为其创建别名来解决此问题。
我遇到的另一个问题是“主机名”部分中的空格或其他空格字符(尽管我看到上面的示例没有该问题),但仍然只是指出了这个问题。