From 438c2f53aba6f3f1c91afab06829ac4748be84a9 Mon Sep 17 00:00:00 2001 From: Nikita Koksharov Date: Tue, 28 Feb 2023 12:37:12 +0300 Subject: [PATCH] Fixed - keySet(), values(), entrySet() methods of RLocalCachedMap return empty result if storeMode == LOCALCACHE --- .../org/redisson/RedissonLocalCachedMap.java | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/redisson/src/main/java/org/redisson/RedissonLocalCachedMap.java b/redisson/src/main/java/org/redisson/RedissonLocalCachedMap.java index aa012b39e..1e686e8f9 100644 --- a/redisson/src/main/java/org/redisson/RedissonLocalCachedMap.java +++ b/redisson/src/main/java/org/redisson/RedissonLocalCachedMap.java @@ -1260,5 +1260,29 @@ public class RedissonLocalCachedMap extends RedissonMap implements R public Map getCachedMap() { return localCacheView.getCachedMap(); } - + + @Override + public Set keySet(String pattern, int count) { + if (storeMode == LocalCachedMapOptions.StoreMode.LOCALCACHE) { + return cachedKeySet(); + } + return super.keySet(pattern, count); + } + + @Override + public Collection values(String keyPattern, int count) { + if (storeMode == LocalCachedMapOptions.StoreMode.LOCALCACHE) { + return cachedValues(); + } + return super.values(keyPattern, count); + } + + @Override + public Set> entrySet(String keyPattern, int count) { + if (storeMode == LocalCachedMapOptions.StoreMode.LOCALCACHE) { + return cachedEntrySet(); + } + return super.entrySet(keyPattern, count); + } + }