From 1d640f943ad1394c4d4012e1379d92ff78404a02 Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Thu, 28 Dec 2017 10:14:10 +0800 Subject: [PATCH] =?UTF-8?q?CacheSource=E5=A2=9E=E5=8A=A0existsSetItem?= =?UTF-8?q?=E7=B3=BB=E5=88=97=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/org/redkale/source/CacheMemorySource.java | 33 +++++++++++++++++++ src/org/redkale/source/CacheSource.java | 12 +++++++ 2 files changed, 45 insertions(+) diff --git a/src/org/redkale/source/CacheMemorySource.java b/src/org/redkale/source/CacheMemorySource.java index 6fb19bf0e..b72eee6d8 100644 --- a/src/org/redkale/source/CacheMemorySource.java +++ b/src/org/redkale/source/CacheMemorySource.java @@ -667,6 +667,39 @@ public class CacheMemorySource extends AbstractService impleme return (Collection) getAndRefresh(key, expireSeconds); } + @Override + public boolean existsSetItem(final String key, final V value) { + Collection list = getCollection(key); + return list != null && list.contains(value); + } + + @Override + public CompletableFuture 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 list = getStringCollection(key); + return list != null && list.contains(value); + } + + @Override + public CompletableFuture 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 list = getLongCollection(key); + return list != null && list.contains(value); + } + + @Override + public CompletableFuture existsLongSetItemAsync(final String key, final long value) { + return CompletableFuture.supplyAsync(() -> existsLongSetItem(key, value), getExecutor()); + } + @Override @RpcMultiRun public Collection getLongCollectionAndRefresh(final String key, final int expireSeconds) { diff --git a/src/org/redkale/source/CacheSource.java b/src/org/redkale/source/CacheSource.java index 7b9da9f5d..59f553e21 100644 --- a/src/org/redkale/source/CacheSource.java +++ b/src/org/redkale/source/CacheSource.java @@ -66,6 +66,8 @@ public interface CacheSource { 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 { 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 { 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 { public CompletableFuture removeListItemAsync(final String key, final V value); + public CompletableFuture existsSetItemAsync(final String key, final V value); + public CompletableFuture appendSetItemAsync(final String key, final V value); public CompletableFuture removeSetItemAsync(final String key, final V value); @@ -177,6 +185,8 @@ public interface CacheSource { public CompletableFuture removeStringListItemAsync(final String key, final String value); + public CompletableFuture existsStringSetItemAsync(final String key, final String value); + public CompletableFuture appendStringSetItemAsync(final String key, final String value); public CompletableFuture removeStringSetItemAsync(final String key, final String value); @@ -197,6 +207,8 @@ public interface CacheSource { public CompletableFuture removeLongListItemAsync(final String key, final long value); + public CompletableFuture existsLongSetItemAsync(final String key, final long value); + public CompletableFuture appendLongSetItemAsync(final String key, final long value); public CompletableFuture removeLongSetItemAsync(final String key, final long value);