From a365d3551c6ffce8dedbf6fbf66dea14e7cc7de8 Mon Sep 17 00:00:00 2001 From: Nikita Date: Thu, 3 Mar 2016 11:46:26 +0300 Subject: [PATCH] Multimaps added to RBatch objects. #404 --- src/main/java/org/redisson/RedissonBatch.java | 22 ++++++++++++ src/main/java/org/redisson/core/RBatch.java | 36 +++++++++++++++++++ 2 files changed, 58 insertions(+) diff --git a/src/main/java/org/redisson/RedissonBatch.java b/src/main/java/org/redisson/RedissonBatch.java index 8212fadab..bd6910939 100644 --- a/src/main/java/org/redisson/RedissonBatch.java +++ b/src/main/java/org/redisson/RedissonBatch.java @@ -33,12 +33,14 @@ import org.redisson.core.RHyperLogLogAsync; import org.redisson.core.RKeysAsync; import org.redisson.core.RLexSortedSetAsync; import org.redisson.core.RListAsync; +import org.redisson.core.RListMultimap; import org.redisson.core.RMapAsync; import org.redisson.core.RQueueAsync; import org.redisson.core.RScoredSortedSetAsync; import org.redisson.core.RScriptAsync; import org.redisson.core.RSetAsync; import org.redisson.core.RSetCacheAsync; +import org.redisson.core.RSetMultimap; import org.redisson.core.RTopicAsync; import io.netty.util.concurrent.Future; @@ -229,5 +231,25 @@ public class RedissonBatch implements RBatch { return executorService.executeAsync(); } + @Override + public RSetMultimap getSetMultimap(String name) { + return new RedissonSetMultimap(executorService, name); + } + + @Override + public RSetMultimap getSetMultimap(String name, Codec codec) { + return new RedissonSetMultimap(codec, executorService, name); + } + + @Override + public RListMultimap getListMultimap(String name) { + return new RedissonListMultimap(executorService, name); + } + + @Override + public RListMultimap getListMultimap(String name, Codec codec) { + return new RedissonListMultimap(codec, executorService, name); + } + } diff --git a/src/main/java/org/redisson/core/RBatch.java b/src/main/java/org/redisson/core/RBatch.java index 27b20e7e9..cdcae7a6f 100644 --- a/src/main/java/org/redisson/core/RBatch.java +++ b/src/main/java/org/redisson/core/RBatch.java @@ -37,6 +37,24 @@ import io.netty.util.concurrent.Future; */ public interface RBatch { + /** + * Returns Set based MultiMap instance by name. + * + * @param name + * @return + */ + RSetMultimap getSetMultimap(String name); + + /** + * Returns Set based MultiMap instance by name + * using provided codec for both map keys and values. + * + * @param name + * @param codec + * @return + */ + RSetMultimap getSetMultimap(String name, Codec codec); + /** * Returns set-based cache instance by name. * Uses map (value_hash, value) under the hood for minimal memory consumption. @@ -118,6 +136,24 @@ public interface RBatch { RListAsync getList(String name, Codec codec); + /** + * Returns List based MultiMap instance by name. + * + * @param name + * @return + */ + RListMultimap getListMultimap(String name); + + /** + * Returns List based MultiMap instance by name + * using provided codec for both map keys and values. + * + * @param name + * @param codec + * @return + */ + RListMultimap getListMultimap(String name, Codec codec); + /** * Returns map instance by name. *