CacheSource增加existsSetItem系列方法

This commit is contained in:
Redkale
2017-12-28 10:14:10 +08:00
parent 84f5f065ad
commit 1d640f943a
2 changed files with 45 additions and 0 deletions

View File

@@ -667,6 +667,39 @@ public class CacheMemorySource<V extends Object> extends AbstractService impleme
return (Collection<String>) getAndRefresh(key, expireSeconds);
}
@Override
public boolean existsSetItem(final String key, final V value) {
Collection<V> list = getCollection(key);
return list != null && list.contains(value);
}
@Override
public CompletableFuture<Boolean> existsSetItemAsync(final String key, final V value) {
return CompletableFuture.supplyAsync(() -> existsSetItem(key, value), getExecutor());
}
@Override
public boolean existsStringSetItem(final String key, final String value) {
Collection<String> list = getStringCollection(key);
return list != null && list.contains(value);
}
@Override
public CompletableFuture<Boolean> existsStringSetItemAsync(final String key, final String value) {
return CompletableFuture.supplyAsync(() -> existsStringSetItem(key, value), getExecutor());
}
@Override
public boolean existsLongSetItem(final String key, final long value) {
Collection<Long> list = getLongCollection(key);
return list != null && list.contains(value);
}
@Override
public CompletableFuture<Boolean> existsLongSetItemAsync(final String key, final long value) {
return CompletableFuture.supplyAsync(() -> existsLongSetItem(key, value), getExecutor());
}
@Override
@RpcMultiRun
public Collection<Long> getLongCollectionAndRefresh(final String key, final int expireSeconds) {

View File

@@ -66,6 +66,8 @@ public interface CacheSource<V extends Object> {
public void removeListItem(final String key, final V value);
public boolean existsSetItem(final String key, final V value);
public void appendSetItem(final String key, final V value);
public void removeSetItem(final String key, final V value);
@@ -92,6 +94,8 @@ public interface CacheSource<V extends Object> {
public void removeStringListItem(final String key, final String value);
public boolean existsStringSetItem(final String key, final String value);
public void appendStringSetItem(final String key, final String value);
public void removeStringSetItem(final String key, final String value);
@@ -112,6 +116,8 @@ public interface CacheSource<V extends Object> {
public void removeLongListItem(final String key, final long value);
public boolean existsLongSetItem(final String key, final long value);
public void appendLongSetItem(final String key, final long value);
public void removeLongSetItem(final String key, final long value);
@@ -151,6 +157,8 @@ public interface CacheSource<V extends Object> {
public CompletableFuture<Void> removeListItemAsync(final String key, final V value);
public CompletableFuture<Boolean> existsSetItemAsync(final String key, final V value);
public CompletableFuture<Void> appendSetItemAsync(final String key, final V value);
public CompletableFuture<Void> removeSetItemAsync(final String key, final V value);
@@ -177,6 +185,8 @@ public interface CacheSource<V extends Object> {
public CompletableFuture<Void> removeStringListItemAsync(final String key, final String value);
public CompletableFuture<Boolean> existsStringSetItemAsync(final String key, final String value);
public CompletableFuture<Void> appendStringSetItemAsync(final String key, final String value);
public CompletableFuture<Void> removeStringSetItemAsync(final String key, final String value);
@@ -197,6 +207,8 @@ public interface CacheSource<V extends Object> {
public CompletableFuture<Void> removeLongListItemAsync(final String key, final long value);
public CompletableFuture<Boolean> existsLongSetItemAsync(final String key, final long value);
public CompletableFuture<Void> appendLongSetItemAsync(final String key, final long value);
public CompletableFuture<Void> removeLongSetItemAsync(final String key, final long value);