优化CacheSource
This commit is contained in:
@@ -278,6 +278,11 @@ public final class CacheMemorySource extends AbstractCacheSource {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void hmset(final String key, final Map map) {
|
||||
map.forEach((k, v) -> hset(CacheEntryType.MAP, key, (String) k, v));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> List<T> hmget(final String key, final Type type, final String... fields) {
|
||||
if (key == null) return null;
|
||||
@@ -482,6 +487,11 @@ public final class CacheMemorySource extends AbstractCacheSource {
|
||||
return CompletableFuture.runAsync(() -> hmset(key, values), getExecutor()).whenComplete(futureCompleteConsumer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CompletableFuture<Void> hmsetAsync(final String key, final Map map) {
|
||||
return CompletableFuture.runAsync(() -> hmset(key, map), getExecutor()).whenComplete(futureCompleteConsumer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> CompletableFuture<List<T>> hmgetAsync(final String key, final Type type, final String... fields) {
|
||||
return CompletableFuture.supplyAsync(() -> hmget(key, type, fields), getExecutor());
|
||||
@@ -652,6 +662,19 @@ public final class CacheMemorySource extends AbstractCacheSource {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mset(Map map) {
|
||||
map.forEach((key, val) -> {
|
||||
if (val instanceof String) {
|
||||
set(CacheEntryType.STRING, (String) key, val);
|
||||
} else if (val instanceof Number) {
|
||||
set(CacheEntryType.LONG, (String) key, ((Number) val).longValue());
|
||||
} else {
|
||||
set(CacheEntryType.OBJECT, (String) key, val);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void set(String key, Convert convert, T value) {
|
||||
set(CacheEntryType.OBJECT, key, value);
|
||||
@@ -721,6 +744,11 @@ public final class CacheMemorySource extends AbstractCacheSource {
|
||||
return CompletableFuture.runAsync(() -> mset(keyVals), getExecutor()).whenComplete(futureCompleteConsumer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CompletableFuture<Void> msetAsync(final Map map) {
|
||||
return CompletableFuture.runAsync(() -> mset(map), getExecutor()).whenComplete(futureCompleteConsumer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> CompletableFuture<Void> setAsync(String key, Convert convert, T value) {
|
||||
return CompletableFuture.runAsync(() -> set(key, convert, value), getExecutor()).whenComplete(futureCompleteConsumer);
|
||||
|
||||
@@ -76,6 +76,8 @@ public interface CacheSource extends Resourcable {
|
||||
//MSET key value [key value ...]
|
||||
public void mset(final Object... keyVals);
|
||||
|
||||
public void mset(final Map map);
|
||||
|
||||
public <T> void set(final String key, final Convert convert, final T value);
|
||||
|
||||
public <T> void set(final String key, final Type type, final T value);
|
||||
@@ -184,6 +186,8 @@ public interface CacheSource extends Resourcable {
|
||||
//------------------------ hmxx ------------------------
|
||||
public void hmset(final String key, final Serializable... values);
|
||||
|
||||
public void hmset(final String key, final Map map);
|
||||
|
||||
public <T> List<T> hmget(final String key, final Type type, final String... fields);
|
||||
|
||||
public <T> Map<String, T> hmap(final String key, final Type type, int offset, int limit);
|
||||
@@ -353,6 +357,8 @@ public interface CacheSource extends Resourcable {
|
||||
//MSET key value [key value ...]
|
||||
public CompletableFuture<Void> msetAsync(final Object... keyVals);
|
||||
|
||||
public CompletableFuture<Void> msetAsync(final Map map);
|
||||
|
||||
public <T> CompletableFuture<Void> setAsync(final String key, final Convert convert, final T value);
|
||||
|
||||
public <T> CompletableFuture<Void> setAsync(final String key, final Type type, final T value);
|
||||
@@ -461,6 +467,8 @@ public interface CacheSource extends Resourcable {
|
||||
//------------------------ hmxxAsync ------------------------
|
||||
public CompletableFuture<Void> hmsetAsync(final String key, final Serializable... values);
|
||||
|
||||
public CompletableFuture<Void> hmsetAsync(final String key, final Map map);
|
||||
|
||||
public <T> CompletableFuture<List<T>> hmgetAsync(final String key, final Type type, final String... fields);
|
||||
|
||||
public <T> CompletableFuture<Map<String, T>> hmapAsync(final String key, final Type type, int offset, int limit);
|
||||
|
||||
Reference in New Issue
Block a user