优化CacheSource
This commit is contained in:
@@ -634,6 +634,24 @@ public final class CacheMemorySource extends AbstractCacheSource {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mset(Object... keyVals) {
|
||||||
|
if (keyVals.length % 2 != 0) {
|
||||||
|
throw new RuntimeException("key value must be paired");
|
||||||
|
}
|
||||||
|
for (int i = 0; i < keyVals.length; i += 2) {
|
||||||
|
String key = keyVals[i].toString();
|
||||||
|
Object val = keyVals[i + 1];
|
||||||
|
if (val instanceof String) {
|
||||||
|
set(CacheEntryType.STRING, key, val);
|
||||||
|
} else if (val instanceof Number) {
|
||||||
|
set(CacheEntryType.LONG, key, ((Number) val).longValue());
|
||||||
|
} else {
|
||||||
|
set(CacheEntryType.OBJECT, key, val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <T> void set(String key, Convert convert, T value) {
|
public <T> void set(String key, Convert convert, T value) {
|
||||||
set(CacheEntryType.OBJECT, key, value);
|
set(CacheEntryType.OBJECT, key, value);
|
||||||
@@ -698,6 +716,11 @@ public final class CacheMemorySource extends AbstractCacheSource {
|
|||||||
setnx(CacheEntryType.LONG, key, value);
|
setnx(CacheEntryType.LONG, key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompletableFuture<Void> msetAsync(final Object... keyVals) {
|
||||||
|
return CompletableFuture.runAsync(() -> mset(keyVals), getExecutor()).whenComplete(futureCompleteConsumer);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <T> CompletableFuture<Void> setAsync(String key, Convert convert, T value) {
|
public <T> CompletableFuture<Void> setAsync(String key, Convert convert, T value) {
|
||||||
return CompletableFuture.runAsync(() -> set(key, convert, value), getExecutor()).whenComplete(futureCompleteConsumer);
|
return CompletableFuture.runAsync(() -> set(key, convert, value), getExecutor()).whenComplete(futureCompleteConsumer);
|
||||||
|
|||||||
@@ -73,6 +73,9 @@ public interface CacheSource extends Resourcable {
|
|||||||
public byte[] getSetBytes(final String key, final byte[] value);
|
public byte[] getSetBytes(final String key, final byte[] value);
|
||||||
|
|
||||||
//------------------------ set ------------------------
|
//------------------------ set ------------------------
|
||||||
|
//MSET key value [key value ...]
|
||||||
|
public void mset(final Object... keyVals);
|
||||||
|
|
||||||
public <T> void set(final String key, final Convert convert, final T value);
|
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);
|
public <T> void set(final String key, final Type type, final T value);
|
||||||
@@ -347,6 +350,9 @@ public interface CacheSource extends Resourcable {
|
|||||||
public CompletableFuture<byte[]> getSetBytesAsync(final String key, final byte[] value);
|
public CompletableFuture<byte[]> getSetBytesAsync(final String key, final byte[] value);
|
||||||
|
|
||||||
//------------------------ setAsync ------------------------
|
//------------------------ setAsync ------------------------
|
||||||
|
//MSET key value [key value ...]
|
||||||
|
public CompletableFuture<Void> msetAsync(final Object... keyVals);
|
||||||
|
|
||||||
public <T> CompletableFuture<Void> setAsync(final String key, final Convert convert, final T value);
|
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);
|
public <T> CompletableFuture<Void> setAsync(final String key, final Type type, final T value);
|
||||||
|
|||||||
Reference in New Issue
Block a user