From 85d23214ec119cacd9ae4f32692e7fc522527877 Mon Sep 17 00:00:00 2001 From: redkale Date: Fri, 9 Jun 2023 11:34:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96CacheSource.lrange?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/redkale/mq/MessageConsumer.java | 2 +- .../org/redkale/source/CacheMemorySource.java | 6 +- .../java/org/redkale/source/CacheSource.java | 88 ++++++++++++++----- 3 files changed, 72 insertions(+), 24 deletions(-) diff --git a/src/main/java/org/redkale/mq/MessageConsumer.java b/src/main/java/org/redkale/mq/MessageConsumer.java index ebe1c5f1d..d835144ac 100644 --- a/src/main/java/org/redkale/mq/MessageConsumer.java +++ b/src/main/java/org/redkale/mq/MessageConsumer.java @@ -25,7 +25,7 @@ public interface MessageConsumer { default void init(AnyValue config) { } - public void onMessage(String topic, T message); + public void onMessage(String topic, T[] messages); default void destroy(AnyValue config) { } diff --git a/src/main/java/org/redkale/source/CacheMemorySource.java b/src/main/java/org/redkale/source/CacheMemorySource.java index 3c5cfd6b0..544bf0690 100644 --- a/src/main/java/org/redkale/source/CacheMemorySource.java +++ b/src/main/java/org/redkale/source/CacheMemorySource.java @@ -1292,7 +1292,7 @@ public final class CacheMemorySource extends AbstractCacheSource { } @Override - public List lrange(final String key, final Type componentType) { + public List lrange(final String key, final Type componentType, int start, int stop) { return (List) get(key, componentType); } @@ -1395,8 +1395,8 @@ public final class CacheMemorySource extends AbstractCacheSource { } @Override - public CompletableFuture> lrangeAsync(String key, Type componentType) { - return supplyAsync(() -> lrange(key, componentType), getExecutor()); + public CompletableFuture> lrangeAsync(String key, Type componentType, int start, int stop) { + return supplyAsync(() -> lrange(key, componentType, start, stop), getExecutor()); } @Override diff --git a/src/main/java/org/redkale/source/CacheSource.java b/src/main/java/org/redkale/source/CacheSource.java index 3a7fb1c0d..ef2cd40c6 100644 --- a/src/main/java/org/redkale/source/CacheSource.java +++ b/src/main/java/org/redkale/source/CacheSource.java @@ -257,27 +257,49 @@ public interface CacheSource extends Resourcable { //------------------------ list ------------------------ public int llen(final String key); - public List lrange(final String key, final Type componentType); - public Map> lrange(final Type componentType, final String... keys); - public void rpush(final String key, final Type componentType, final T value); + public List lrange(final String key, final Type componentType, int start, int stop); + + default List lrangeString(final String key, int start, int stop) { + return lrange(key, String.class, start, stop); + } + + default List lrangeLong(final String key, int start, int stop) { + return lrange(key, Long.class, start, stop); + } + + default List lrange(final String key, final Type componentType) { + return lrange(key, componentType, 0, -1); + } + + default List lrangeString(final String key) { + return lrange(key, String.class, 0, -1); + } + + default List lrangeLong(final String key) { + return lrange(key, Long.class, 0, -1); + } public int lrem(final String key, final Type componentType, final T value); - //---------- list-string ---------- - default List lrangeString(final String key) { - return lrange(key, String.class); + default int lremString(final String key, final String value) { + return lrem(key, String.class, value); } - public void rpushString(final String key, final String value); + default int lremLong(final String key, final long value) { + return lrem(key, Long.class, value); + } - public int lremString(final String key, final String value); + public void rpush(final String key, final Type componentType, final T value); - //---------- list-long ---------- - public void rpushLong(final String key, final long value); + default void rpushString(final String key, final String value) { + rpush(key, String.class, value); + } - public int lremLong(final String key, final long value); + default void rpushLong(final String key, final long value) { + rpush(key, Long.class, value); + } //------------------------ set ------------------------ public int scard(final String key); @@ -596,23 +618,49 @@ public interface CacheSource extends Resourcable { //------------------------ listAsync ------------------------ public CompletableFuture llenAsync(final String key); - public CompletableFuture> lrangeAsync(final String key, final Type componentType); - public CompletableFuture>> lrangeAsync(final Type componentType, final String... keys); - public CompletableFuture rpushAsync(final String key, final Type componentType, final T value); + public CompletableFuture> lrangeAsync(final String key, final Type componentType, int start, int stop); + + default CompletableFuture> lrangeStringAsync(final String key, int start, int stop) { + return lrangeAsync(key, String.class, start, stop); + } + + default CompletableFuture> lrangeLongAsync(final String key, int start, int stop) { + return lrangeAsync(key, Long.class, start, stop); + } + + default CompletableFuture> lrangeAsync(final String key, final Type componentType) { + return lrangeAsync(key, componentType, 0, -1); + } + + default CompletableFuture> lrangeStringAsync(final String key) { + return lrangeAsync(key, String.class, 0, -1); + } + + default CompletableFuture> lrangeLongAsync(final String key) { + return lrangeAsync(key, Long.class, 0, -1); + } public CompletableFuture lremAsync(final String key, final Type componentType, final T value); - //---------- list-string ---------- - public CompletableFuture rpushStringAsync(final String key, final String value); + default CompletableFuture lremStringAsync(final String key, final String value) { + return lremAsync(key, String.class, value); + } - public CompletableFuture lremStringAsync(final String key, final String value); + default CompletableFuture lremLongAsync(final String key, final long value) { + return lremAsync(key, Long.class, value); + } - //---------- list-long ---------- - public CompletableFuture rpushLongAsync(final String key, final long value); + public CompletableFuture rpushAsync(final String key, final Type componentType, final T value); - public CompletableFuture lremLongAsync(final String key, final long value); + default CompletableFuture rpushStringAsync(final String key, final String value) { + return rpushAsync(key, String.class, value); + } + + default CompletableFuture rpushLongAsync(final String key, final long value) { + return rpushAsync(key, Long.class, value); + } //------------------------ setAsync ------------------------ public CompletableFuture scardAsync(final String key);