Skip to content

Commit 56d4d56

Browse files
committed
Merge branch '5.2.0' into csc-url-uri
2 parents f32d87b + 4cada22 commit 56d4d56

File tree

2 files changed

+231
-228
lines changed

2 files changed

+231
-228
lines changed

src/main/java/redis/clients/jedis/ClientSideCache.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import java.util.Map;
77
import java.util.Set;
88
import java.util.concurrent.ConcurrentHashMap;
9+
910
import java.util.function.Function;
1011
import redis.clients.jedis.util.SafeEncoder;
1112

@@ -67,7 +68,7 @@ private void invalidateKeyAndRespectiveCommandHashes(Object key) {
6768
}
6869
}
6970

70-
final <T> T getValue(Function<CommandObject<T>, T> loader, CommandObject<T> command, String... keys) {
71+
final <T> T getValue(Function<CommandObject<T>, T> loader, CommandObject<T> command, Object... keys) {
7172

7273
final long hash = getCommandHash(command);
7374

@@ -79,7 +80,7 @@ final <T> T getValue(Function<CommandObject<T>, T> loader, CommandObject<T> comm
7980
value = loader.apply(command);
8081
if (value != null) {
8182
put(hash, value);
82-
for (String key : keys) {
83+
for (Object key : keys) {
8384
ByteBuffer mapKey = makeKeyForKeyToCommandHashes(key);
8485
if (keyToCommandHashes.containsKey(mapKey)) {
8586
keyToCommandHashes.get(mapKey).add(hash);
@@ -94,8 +95,10 @@ final <T> T getValue(Function<CommandObject<T>, T> loader, CommandObject<T> comm
9495
return value;
9596
}
9697

97-
private ByteBuffer makeKeyForKeyToCommandHashes(String key) {
98-
return makeKeyForKeyToCommandHashes(SafeEncoder.encode(key));
98+
private ByteBuffer makeKeyForKeyToCommandHashes(Object key) {
99+
if (key instanceof byte[]) return makeKeyForKeyToCommandHashes((byte[]) key);
100+
else if (key instanceof String) return makeKeyForKeyToCommandHashes(SafeEncoder.encode((String) key));
101+
else throw new AssertionError("" + key.getClass().getSimpleName() + " is not supported. Value: " + String.valueOf(key));
99102
}
100103

101104
private static ByteBuffer makeKeyForKeyToCommandHashes(byte[] b) {

0 commit comments

Comments
 (0)