diff --git a/src/org/redkale/source/CacheMemorySource.java b/src/org/redkale/source/CacheMemorySource.java index a72e26dd7..2cfa5ce03 100644 --- a/src/org/redkale/source/CacheMemorySource.java +++ b/src/org/redkale/source/CacheMemorySource.java @@ -747,11 +747,27 @@ public class CacheMemorySource extends AbstractService impleme return map; } + @Override + public Long[] getLongArray(final String... keys) { + Long[] rs = new Long[keys.length]; + int index = -1; + for (String key : keys) { + Number n = (Number) get(key); + rs[++index] = n == null ? null : n.longValue(); + } + return rs; + } + @Override public CompletableFuture> getLongMapAsync(final String... keys) { return CompletableFuture.supplyAsync(() -> getLongMap(keys), getExecutor()); } + @Override + public CompletableFuture getLongArrayAsync(final String... keys) { + return CompletableFuture.supplyAsync(() -> getLongArray(keys), getExecutor()); + } + @Override public Map getStringMap(final String... keys) { Map map = new LinkedHashMap<>(); @@ -762,11 +778,27 @@ public class CacheMemorySource extends AbstractService impleme return map; } + @Override + public String[] getStringArray(final String... keys) { + String[] rs = new String[keys.length]; + int index = -1; + for (String key : keys) { + Object n = get(key); + rs[++index] = n == null ? null : n.toString(); + } + return rs; + } + @Override public CompletableFuture> getStringMapAsync(final String... keys) { return CompletableFuture.supplyAsync(() -> getStringMap(keys), getExecutor()); } + @Override + public CompletableFuture getStringArrayAsync(final String... keys) { + return CompletableFuture.supplyAsync(() -> getStringArray(keys), getExecutor()); + } + @Override public Map getMap(final Type componentType, final String... keys) { Map map = new LinkedHashMap<>(); diff --git a/src/org/redkale/source/CacheSource.java b/src/org/redkale/source/CacheSource.java index 325f51d0b..dc31c35ad 100644 --- a/src/org/redkale/source/CacheSource.java +++ b/src/org/redkale/source/CacheSource.java @@ -153,6 +153,8 @@ public interface CacheSource { public Map getStringMap(final String... keys); + public String[] getStringArray(final String... keys); + public Collection getStringCollection(final String key); public Map> getStringCollectionMap(final boolean set, final String... keys); @@ -179,6 +181,8 @@ public interface CacheSource { public Map getLongMap(final String... keys); + public Long[] getLongArray(final String... keys); + public Collection getLongCollection(final String key); public Map> getLongCollectionMap(final boolean set, final String... keys); @@ -316,6 +320,8 @@ public interface CacheSource { public CompletableFuture> getStringMapAsync(final String... keys); + public CompletableFuture getStringArrayAsync(final String... keys); + public CompletableFuture> getStringCollectionAsync(final String key); public CompletableFuture>> getStringCollectionMapAsync(final boolean set, final String... keys); @@ -342,6 +348,8 @@ public interface CacheSource { public CompletableFuture> getLongMapAsync(final String... keys); + public CompletableFuture getLongArrayAsync(final String... keys); + public CompletableFuture> getLongCollectionAsync(final String key); public CompletableFuture>> getLongCollectionMapAsync(final boolean set, final String... keys);