优化CacheSource

This commit is contained in:
Redkale
2022-12-23 13:09:22 +08:00
parent 6940b7af81
commit bb750d3689
2 changed files with 11 additions and 7 deletions

View File

@@ -840,9 +840,13 @@ public final class CacheMemorySource extends AbstractCacheSource {
}
@Override
public int del(String key) {
if (key == null) return 0;
return container.remove(key) == null ? 0 : 1;
public int del(final String... keys) {
if (keys == null) return 0;
int count = 0;
for (String key : keys) {
count += container.remove(key) == null ? 0 : 1;
}
return count;
}
@Override
@@ -896,8 +900,8 @@ public final class CacheMemorySource extends AbstractCacheSource {
}
@Override
public CompletableFuture<Integer> delAsync(final String key) {
return CompletableFuture.supplyAsync(() -> del(key), getExecutor()).whenComplete(futureCompleteConsumer);
public CompletableFuture<Integer> delAsync(final String... keys) {
return CompletableFuture.supplyAsync(() -> del(keys), getExecutor()).whenComplete(futureCompleteConsumer);
}
@Override

View File

@@ -122,7 +122,7 @@ public interface CacheSource extends Resourcable {
public void expire(final String key, final int seconds);
public int del(final String key);
public int del(final String... keys);
public long incr(final String key);
@@ -396,7 +396,7 @@ public interface CacheSource extends Resourcable {
public CompletableFuture<Void> expireAsync(final String key, final int seconds);
public CompletableFuture<Integer> delAsync(final String key);
public CompletableFuture<Integer> delAsync(final String... keys);
public CompletableFuture<Long> incrAsync(final String key);