From ccccd4bd5e84a78cdfb94b17ecd536f0e37262b8 Mon Sep 17 00:00:00 2001 From: Sergey Kuznetsov Date: Wed, 2 Aug 2023 16:36:11 +0200 Subject: [PATCH] String.replaceFirsts compiles regex pattern on each call, it can be avoided just by getting index of `://` Signed-off-by: Sergey Kuznetsov Signed-off-by: Sergey Kuznetsov --- redisson/src/main/java/org/redisson/misc/RedisURI.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/redisson/src/main/java/org/redisson/misc/RedisURI.java b/redisson/src/main/java/org/redisson/misc/RedisURI.java index e6e4c36f8..c00de8515 100644 --- a/redisson/src/main/java/org/redisson/misc/RedisURI.java +++ b/redisson/src/main/java/org/redisson/misc/RedisURI.java @@ -42,8 +42,7 @@ public class RedisURI { } public RedisURI(String uri) { - if (!uri.startsWith("redis://") - && !uri.startsWith("rediss://")) { + if (!uri.startsWith("redis://") && !uri.startsWith("rediss://")) { throw new IllegalArgumentException("Redis url should start with redis:// or rediss:// (for SSL connection)"); } @@ -73,8 +72,9 @@ public class RedisURI { } private String parseUrl(String uri) { - String urlHost = uri.replaceFirst("redis://", "http://").replaceFirst("rediss://", "http://"); - String ipV6Host = uri.substring(uri.indexOf("://")+3, uri.lastIndexOf(":")); + int hostStartIndex = uri.indexOf("://") + 3; + String urlHost = "http://" + uri.substring(hostStartIndex); + String ipV6Host = uri.substring(hostStartIndex, uri.lastIndexOf(":")); if (ipV6Host.contains("@")) { ipV6Host = ipV6Host.split("@")[1]; }