diff --git a/src/main/java/redis/clients/jedis/csc/CaffeineCSC.java b/src/main/java/redis/clients/jedis/csc/CaffeineClientSideCache.java similarity index 60% rename from src/main/java/redis/clients/jedis/csc/CaffeineCSC.java rename to src/main/java/redis/clients/jedis/csc/CaffeineClientSideCache.java index 82f4f0f9a8..8ff993d6c7 100644 --- a/src/main/java/redis/clients/jedis/csc/CaffeineCSC.java +++ b/src/main/java/redis/clients/jedis/csc/CaffeineClientSideCache.java @@ -4,23 +4,23 @@ import com.github.benmanes.caffeine.cache.Caffeine; import java.util.concurrent.TimeUnit; -import redis.clients.jedis.csc.hash.CommandLongHashing; -import redis.clients.jedis.csc.hash.OpenHftHashing; +import redis.clients.jedis.csc.hash.CommandLongHasher; +import redis.clients.jedis.csc.hash.OpenHftCommandHasher; -public class CaffeineCSC extends ClientSideCache { +public class CaffeineClientSideCache extends ClientSideCache { private final Cache cache; - public CaffeineCSC(Cache caffeineCache) { - this(caffeineCache, new OpenHftHashing(OpenHftHashing.DEFAULT_HASH_FUNCTION), DefaultClientSideCacheable.INSTANCE); + public CaffeineClientSideCache(Cache caffeineCache) { + this(caffeineCache, DefaultClientSideCacheable.INSTANCE); } - public CaffeineCSC(Cache caffeineCache, ClientSideCacheable cacheable) { - this(caffeineCache, new OpenHftHashing(OpenHftHashing.DEFAULT_HASH_FUNCTION), cacheable); + public CaffeineClientSideCache(Cache caffeineCache, ClientSideCacheable cacheable) { + this(caffeineCache, new OpenHftCommandHasher(OpenHftCommandHasher.DEFAULT_HASH_FUNCTION), cacheable); } - public CaffeineCSC(Cache caffeineCache, CommandLongHashing hashing, ClientSideCacheable cacheable) { - super(hashing, cacheable); + public CaffeineClientSideCache(Cache caffeineCache, CommandLongHasher commandHasher, ClientSideCacheable cacheable) { + super(commandHasher, cacheable); this.cache = caffeineCache; } @@ -55,7 +55,7 @@ public static class Builder { private final TimeUnit expireTimeUnit = TimeUnit.SECONDS; // not using a default value to avoid an object creation like 'new OpenHftHashing(hashFunction)' - private CommandLongHashing longHashing = null; + private CommandLongHasher commandHasher = null; private ClientSideCacheable cacheable = DefaultClientSideCacheable.INSTANCE; @@ -71,8 +71,8 @@ public Builder ttl(int seconds) { return this; } - public Builder hashing(CommandLongHashing hashing) { - this.longHashing = hashing; + public Builder commandHasher(CommandLongHasher commandHasher) { + this.commandHasher = commandHasher; return this; } @@ -81,16 +81,15 @@ public Builder cacheable(ClientSideCacheable cacheable) { return this; } - public CaffeineCSC build() { + public CaffeineClientSideCache build() { Caffeine cb = Caffeine.newBuilder(); cb.maximumSize(maximumSize); cb.expireAfterWrite(expireTime, expireTimeUnit); - return longHashing != null - ? new CaffeineCSC(cb.build(), longHashing, cacheable) - : new CaffeineCSC(cb.build(), cacheable); + return commandHasher != null ? new CaffeineClientSideCache(cb.build(), commandHasher, cacheable) + : new CaffeineClientSideCache(cb.build(), cacheable); } } } diff --git a/src/main/java/redis/clients/jedis/csc/ClientSideCache.java b/src/main/java/redis/clients/jedis/csc/ClientSideCache.java index ef6b833a60..d0ad06e6a4 100644 --- a/src/main/java/redis/clients/jedis/csc/ClientSideCache.java +++ b/src/main/java/redis/clients/jedis/csc/ClientSideCache.java @@ -7,14 +7,15 @@ import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; + import redis.clients.jedis.CommandObject; -import redis.clients.jedis.csc.hash.CommandLongHashing; +import redis.clients.jedis.csc.hash.CommandLongHasher; import redis.clients.jedis.util.SafeEncoder; /** * The class to manage the client-side caching. User can provide any of implementation of this class to the client - * object; e.g. {@link redis.clients.jedis.csc.CaffeineCSC CaffeineCSC} or - * {@link redis.clients.jedis.csc.GuavaCSC GuavaCSC} or a custom implementation of their own. + * object; e.g. {@link redis.clients.jedis.csc.CaffeineClientSideCache CaffeineClientSideCache} or + * {@link redis.clients.jedis.csc.GuavaClientSideCache GuavaClientSideCache} or a custom implementation of their own. */ public abstract class ClientSideCache { @@ -22,15 +23,15 @@ public abstract class ClientSideCache { protected static final int DEFAULT_EXPIRE_SECONDS = 100; private final Map> keyToCommandHashes = new ConcurrentHashMap<>(); - private final CommandLongHashing commandHashing; + private final CommandLongHasher commandHasher; private final ClientSideCacheable cacheable; - protected ClientSideCache(CommandLongHashing commandHashing) { - this(commandHashing, DefaultClientSideCacheable.INSTANCE); + protected ClientSideCache(CommandLongHasher commandHasher) { + this(commandHasher, DefaultClientSideCacheable.INSTANCE); } - protected ClientSideCache(CommandLongHashing commandHashing, ClientSideCacheable cacheable) { - this.commandHashing = commandHashing; + protected ClientSideCache(CommandLongHasher commandHasher, ClientSideCacheable cacheable) { + this.commandHasher = commandHasher; this.cacheable = cacheable; } @@ -80,7 +81,7 @@ public final T get(Function, T> loader, CommandObject co return loader.apply(command); } - final long hash = commandHashing.hash(command); + final long hash = commandHasher.hash(command); T value = (T) getValue(hash); if (value != null) { diff --git a/src/main/java/redis/clients/jedis/csc/GuavaCSC.java b/src/main/java/redis/clients/jedis/csc/GuavaClientSideCache.java similarity index 56% rename from src/main/java/redis/clients/jedis/csc/GuavaCSC.java rename to src/main/java/redis/clients/jedis/csc/GuavaClientSideCache.java index c5c173f5d8..ca176e8b33 100644 --- a/src/main/java/redis/clients/jedis/csc/GuavaCSC.java +++ b/src/main/java/redis/clients/jedis/csc/GuavaClientSideCache.java @@ -5,32 +5,32 @@ import com.google.common.hash.HashFunction; import java.util.concurrent.TimeUnit; -import redis.clients.jedis.csc.hash.CommandLongHashing; -import redis.clients.jedis.csc.hash.GuavaHashing; +import redis.clients.jedis.csc.hash.CommandLongHasher; +import redis.clients.jedis.csc.hash.GuavaCommandHasher; -public class GuavaCSC extends ClientSideCache { +public class GuavaClientSideCache extends ClientSideCache { private final Cache cache; - public GuavaCSC(Cache guavaCache) { - this(guavaCache, GuavaHashing.DEFAULT_HASH_FUNCTION); + public GuavaClientSideCache(Cache guavaCache) { + this(guavaCache, GuavaCommandHasher.DEFAULT_HASH_FUNCTION); } - public GuavaCSC(Cache guavaCache, HashFunction hashFunction) { - this(guavaCache, new GuavaHashing(hashFunction)); + public GuavaClientSideCache(Cache guavaCache, HashFunction hashFunction) { + this(guavaCache, new GuavaCommandHasher(hashFunction)); } - public GuavaCSC(Cache guavaCache, CommandLongHashing hashing) { - super(hashing); + public GuavaClientSideCache(Cache guavaCache, CommandLongHasher commandHasher) { + super(commandHasher); this.cache = guavaCache; } - public GuavaCSC(Cache guavaCache, ClientSideCacheable cacheable) { - this(guavaCache, new GuavaHashing(GuavaHashing.DEFAULT_HASH_FUNCTION), cacheable); + public GuavaClientSideCache(Cache guavaCache, ClientSideCacheable cacheable) { + this(guavaCache, new GuavaCommandHasher(GuavaCommandHasher.DEFAULT_HASH_FUNCTION), cacheable); } - public GuavaCSC(Cache cache, CommandLongHashing hashing, ClientSideCacheable cacheable) { - super(hashing, cacheable); + public GuavaClientSideCache(Cache cache, CommandLongHasher commandHasher, ClientSideCacheable cacheable) { + super(commandHasher, cacheable); this.cache = cache; } @@ -66,7 +66,7 @@ public static class Builder { // not using a default value to avoid an object creation like 'new GuavaHashing(hashFunction)' private HashFunction hashFunction = null; - private CommandLongHashing longHashing = null; + private CommandLongHasher commandHasher = null; private ClientSideCacheable cacheable = DefaultClientSideCacheable.INSTANCE; @@ -84,12 +84,12 @@ public Builder ttl(int seconds) { public Builder hashFunction(HashFunction function) { this.hashFunction = function; - this.longHashing = null; + this.commandHasher = null; return this; } - public Builder hashing(CommandLongHashing hashing) { - this.longHashing = hashing; + public Builder commandHasher(CommandLongHasher commandHasher) { + this.commandHasher = commandHasher; this.hashFunction = null; return this; } @@ -99,16 +99,16 @@ public Builder cacheable(ClientSideCacheable cacheable) { return this; } - public GuavaCSC build() { + public GuavaClientSideCache build() { CacheBuilder cb = CacheBuilder.newBuilder(); cb.maximumSize(maximumSize); cb.expireAfterWrite(expireTime, expireTimeUnit); - return longHashing != null ? new GuavaCSC(cb.build(), longHashing, cacheable) - : hashFunction != null ? new GuavaCSC(cb.build(), new GuavaHashing(hashFunction), cacheable) - : new GuavaCSC(cb.build(), cacheable); + return hashFunction != null ? new GuavaClientSideCache(cb.build(), new GuavaCommandHasher(hashFunction), cacheable) + : commandHasher != null ? new GuavaClientSideCache(cb.build(), commandHasher, cacheable) + : new GuavaClientSideCache(cb.build(), cacheable); } } } diff --git a/src/main/java/redis/clients/jedis/csc/hash/AbstractCommandHashing.java b/src/main/java/redis/clients/jedis/csc/hash/AbstractCommandHasher.java similarity index 89% rename from src/main/java/redis/clients/jedis/csc/hash/AbstractCommandHashing.java rename to src/main/java/redis/clients/jedis/csc/hash/AbstractCommandHasher.java index 561217e299..2c71e4ea80 100644 --- a/src/main/java/redis/clients/jedis/csc/hash/AbstractCommandHashing.java +++ b/src/main/java/redis/clients/jedis/csc/hash/AbstractCommandHasher.java @@ -4,7 +4,7 @@ import redis.clients.jedis.CommandObject; import redis.clients.jedis.args.Rawable; -public abstract class AbstractCommandHashing implements CommandLongHashing { +public abstract class AbstractCommandHasher implements CommandLongHasher { @Override public final long hash(CommandObject command) { diff --git a/src/main/java/redis/clients/jedis/csc/hash/CommandLongHasher.java b/src/main/java/redis/clients/jedis/csc/hash/CommandLongHasher.java new file mode 100644 index 0000000000..bb0b03e072 --- /dev/null +++ b/src/main/java/redis/clients/jedis/csc/hash/CommandLongHasher.java @@ -0,0 +1,16 @@ +package redis.clients.jedis.csc.hash; + +import redis.clients.jedis.CommandObject; + +/** + * The interface for hashing a command object to support client-side caching. + */ +public interface CommandLongHasher { + + /** + * Produce a 64-bit signed hash value from a command object. + * @param command the command object + * @return 64-bit signed hash value + */ + long hash(CommandObject command); +} diff --git a/src/main/java/redis/clients/jedis/csc/hash/CommandLongHashing.java b/src/main/java/redis/clients/jedis/csc/hash/CommandLongHashing.java deleted file mode 100644 index 6632f46e72..0000000000 --- a/src/main/java/redis/clients/jedis/csc/hash/CommandLongHashing.java +++ /dev/null @@ -1,16 +0,0 @@ -package redis.clients.jedis.csc.hash; - -import redis.clients.jedis.CommandObject; - -/** - * The interface for hashing a command object for client-side caching. - */ -public interface CommandLongHashing { - - /** - * Produce a 64-bit signed hash from a command object. - * @param command the command object - * @return 64-bit signed hash - */ - long hash(CommandObject command); -} diff --git a/src/main/java/redis/clients/jedis/csc/hash/GuavaHashing.java b/src/main/java/redis/clients/jedis/csc/hash/GuavaCommandHasher.java similarity index 84% rename from src/main/java/redis/clients/jedis/csc/hash/GuavaHashing.java rename to src/main/java/redis/clients/jedis/csc/hash/GuavaCommandHasher.java index 2b9ad6ff5a..8c07245273 100644 --- a/src/main/java/redis/clients/jedis/csc/hash/GuavaHashing.java +++ b/src/main/java/redis/clients/jedis/csc/hash/GuavaCommandHasher.java @@ -4,13 +4,13 @@ import com.google.common.hash.Hasher; import redis.clients.jedis.CommandObject; -public class GuavaHashing implements CommandLongHashing { +public class GuavaCommandHasher implements CommandLongHasher { public static final HashFunction DEFAULT_HASH_FUNCTION = com.google.common.hash.Hashing.fingerprint2011(); private final HashFunction function; - public GuavaHashing(HashFunction function) { + public GuavaCommandHasher(HashFunction function) { this.function = function; } diff --git a/src/main/java/redis/clients/jedis/csc/hash/OpenHftHashing.java b/src/main/java/redis/clients/jedis/csc/hash/OpenHftCommandHasher.java similarity index 77% rename from src/main/java/redis/clients/jedis/csc/hash/OpenHftHashing.java rename to src/main/java/redis/clients/jedis/csc/hash/OpenHftCommandHasher.java index b112980fd4..e2a7bced3d 100644 --- a/src/main/java/redis/clients/jedis/csc/hash/OpenHftHashing.java +++ b/src/main/java/redis/clients/jedis/csc/hash/OpenHftCommandHasher.java @@ -2,13 +2,13 @@ import net.openhft.hashing.LongHashFunction; -public class OpenHftHashing extends PrimitiveArrayHashing implements CommandLongHashing { +public class OpenHftCommandHasher extends PrimitiveArrayCommandHasher implements CommandLongHasher { public static final LongHashFunction DEFAULT_HASH_FUNCTION = LongHashFunction.xx3(); private final LongHashFunction function; - public OpenHftHashing(LongHashFunction function) { + public OpenHftCommandHasher(LongHashFunction function) { this.function = function; } diff --git a/src/main/java/redis/clients/jedis/csc/hash/PrimitiveArrayHashing.java b/src/main/java/redis/clients/jedis/csc/hash/PrimitiveArrayCommandHasher.java similarity index 53% rename from src/main/java/redis/clients/jedis/csc/hash/PrimitiveArrayHashing.java rename to src/main/java/redis/clients/jedis/csc/hash/PrimitiveArrayCommandHasher.java index 385f97fdd2..ed4a9ff97c 100644 --- a/src/main/java/redis/clients/jedis/csc/hash/PrimitiveArrayHashing.java +++ b/src/main/java/redis/clients/jedis/csc/hash/PrimitiveArrayCommandHasher.java @@ -3,7 +3,12 @@ import redis.clients.jedis.Builder; import redis.clients.jedis.args.Rawable; -public abstract class PrimitiveArrayHashing extends AbstractCommandHashing { +/** + * It is possible to extend {@link PrimitiveArrayCommandHasher this abstract class} in order to implement + * {@link CommandLongHasher} as {@link PrimitiveArrayCommandHasher#hashLongs(long[])} and + * {@link PrimitiveArrayCommandHasher#hashBytes(byte[])} can be supported by almost all Java hashing libraries. + */ +public abstract class PrimitiveArrayCommandHasher extends AbstractCommandHasher { @Override protected final long hashRawable(Rawable raw) { diff --git a/src/main/java/redis/clients/jedis/util/JedisURIHelper.java b/src/main/java/redis/clients/jedis/util/JedisURIHelper.java index 6abedd05c4..ab1ee1d66a 100644 --- a/src/main/java/redis/clients/jedis/util/JedisURIHelper.java +++ b/src/main/java/redis/clients/jedis/util/JedisURIHelper.java @@ -4,9 +4,9 @@ import redis.clients.jedis.HostAndPort; import redis.clients.jedis.Protocol; import redis.clients.jedis.RedisProtocol; -import redis.clients.jedis.csc.CaffeineCSC; +import redis.clients.jedis.csc.CaffeineClientSideCache; import redis.clients.jedis.csc.ClientSideCache; -import redis.clients.jedis.csc.GuavaCSC; +import redis.clients.jedis.csc.GuavaClientSideCache; public final class JedisURIHelper { @@ -137,12 +137,12 @@ public static ClientSideCache getClientSideCache(URI uri) { } if (guava) { - GuavaCSC.Builder guavaBuilder = GuavaCSC.builder(); + GuavaClientSideCache.Builder guavaBuilder = GuavaClientSideCache.builder(); if (maxSize != null) guavaBuilder.maximumSize(maxSize); if (ttl != null) guavaBuilder.ttl(ttl); return guavaBuilder.build(); } else if (caffeine) { - CaffeineCSC.Builder caffeineBuilder = CaffeineCSC.builder(); + CaffeineClientSideCache.Builder caffeineBuilder = CaffeineClientSideCache.builder(); if (maxSize != null) caffeineBuilder.maximumSize(maxSize); if (ttl != null) caffeineBuilder.ttl(ttl); return caffeineBuilder.build(); diff --git a/src/test/java/redis/clients/jedis/csc/AllowAndDenyListClientSideCacheTest.java b/src/test/java/redis/clients/jedis/csc/AllowAndDenyListClientSideCacheTest.java index 86c6dbc42f..17672ff955 100644 --- a/src/test/java/redis/clients/jedis/csc/AllowAndDenyListClientSideCacheTest.java +++ b/src/test/java/redis/clients/jedis/csc/AllowAndDenyListClientSideCacheTest.java @@ -54,7 +54,7 @@ public void tearDown() throws Exception { public void none() { HashMap map = new HashMap<>(); try (JedisPooled jedis = new JedisPooled(hnp, clientConfig.get(), - new MapCSC(map, new AllowAndDenyListWithStringKeys(null, null, null, null)), + new MapClientSideCache(map, new AllowAndDenyListWithStringKeys(null, null, null, null)), singleConnectionPoolConfig.get())) { control.set("foo", "bar"); assertThat(map, Matchers.aMapWithSize(0)); @@ -67,7 +67,7 @@ public void none() { public void whiteListCommand() { HashMap map = new HashMap<>(); try (JedisPooled jedis = new JedisPooled(hnp, clientConfig.get(), - new MapCSC(map, new AllowAndDenyListWithStringKeys(singleton(Protocol.Command.GET), null, null, null)), + new MapClientSideCache(map, new AllowAndDenyListWithStringKeys(singleton(Protocol.Command.GET), null, null, null)), singleConnectionPoolConfig.get())) { control.set("foo", "bar"); assertThat(map, Matchers.aMapWithSize(0)); @@ -80,7 +80,7 @@ public void whiteListCommand() { public void blackListCommand() { HashMap map = new HashMap<>(); try (JedisPooled jedis = new JedisPooled(hnp, clientConfig.get(), - new MapCSC(map, new AllowAndDenyListWithStringKeys(null, singleton(Protocol.Command.GET), null, null)), + new MapClientSideCache(map, new AllowAndDenyListWithStringKeys(null, singleton(Protocol.Command.GET), null, null)), singleConnectionPoolConfig.get())) { control.set("foo", "bar"); assertThat(map, Matchers.aMapWithSize(0)); @@ -93,7 +93,7 @@ public void blackListCommand() { public void whiteListKey() { HashMap map = new HashMap<>(); try (JedisPooled jedis = new JedisPooled(hnp, clientConfig.get(), - new MapCSC(map, new AllowAndDenyListWithStringKeys(null, null, singleton("foo"), null)), + new MapClientSideCache(map, new AllowAndDenyListWithStringKeys(null, null, singleton("foo"), null)), singleConnectionPoolConfig.get())) { control.set("foo", "bar"); assertThat(map, Matchers.aMapWithSize(0)); @@ -106,7 +106,7 @@ public void whiteListKey() { public void blackListKey() { HashMap map = new HashMap<>(); try (JedisPooled jedis = new JedisPooled(hnp, clientConfig.get(), - new MapCSC(map, new AllowAndDenyListWithStringKeys(null, null, null, singleton("foo"))), + new MapClientSideCache(map, new AllowAndDenyListWithStringKeys(null, null, null, singleton("foo"))), singleConnectionPoolConfig.get())) { control.set("foo", "bar"); assertThat(map, Matchers.aMapWithSize(0)); diff --git a/src/test/java/redis/clients/jedis/csc/ClientSideCacheLibsTest.java b/src/test/java/redis/clients/jedis/csc/ClientSideCacheLibsTest.java index b49d524f83..189332b260 100644 --- a/src/test/java/redis/clients/jedis/csc/ClientSideCacheLibsTest.java +++ b/src/test/java/redis/clients/jedis/csc/ClientSideCacheLibsTest.java @@ -23,7 +23,7 @@ import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisClientConfig; import redis.clients.jedis.JedisPooled; -import redis.clients.jedis.csc.hash.OpenHftHashing; +import redis.clients.jedis.csc.hash.OpenHftCommandHasher; public class ClientSideCacheLibsTest { @@ -54,7 +54,7 @@ public void tearDown() throws Exception { @Test public void guavaSimple() { - GuavaCSC guava = GuavaCSC.builder().maximumSize(10).ttl(10) + GuavaClientSideCache guava = GuavaClientSideCache.builder().maximumSize(10).ttl(10) .hashFunction(com.google.common.hash.Hashing.farmHashFingerprint64()).build(); try (JedisPooled jedis = new JedisPooled(hnp, clientConfig.get(), guava)) { control.set("foo", "bar"); @@ -69,7 +69,7 @@ public void guavaMore() { com.google.common.cache.Cache guava = CacheBuilder.newBuilder().recordStats().build(); - try (JedisPooled jedis = new JedisPooled(hnp, clientConfig.get(), new GuavaCSC(guava), + try (JedisPooled jedis = new JedisPooled(hnp, clientConfig.get(), new GuavaClientSideCache(guava), singleConnectionPoolConfig.get())) { control.set("foo", "bar"); assertEquals(0, guava.size()); @@ -92,8 +92,8 @@ public void guavaMore() { @Test public void caffeineSimple() { - CaffeineCSC caffeine = CaffeineCSC.builder().maximumSize(10).ttl(10) - .hashing(new OpenHftHashing(LongHashFunction.xx())).build(); + CaffeineClientSideCache caffeine = CaffeineClientSideCache.builder().maximumSize(10).ttl(10) + .commandHasher(new OpenHftCommandHasher(LongHashFunction.xx())).build(); try (JedisPooled jedis = new JedisPooled(hnp, clientConfig.get(), caffeine)) { control.set("foo", "bar"); assertEquals("bar", jedis.get("foo")); @@ -107,7 +107,7 @@ public void caffeineMore() { com.github.benmanes.caffeine.cache.Cache caffeine = Caffeine.newBuilder().recordStats().build(); - try (JedisPooled jedis = new JedisPooled(hnp, clientConfig.get(), new CaffeineCSC(caffeine), + try (JedisPooled jedis = new JedisPooled(hnp, clientConfig.get(), new CaffeineClientSideCache(caffeine), singleConnectionPoolConfig.get())) { control.set("foo", "bar"); assertEquals(0, caffeine.estimatedSize()); diff --git a/src/test/java/redis/clients/jedis/csc/JedisClusterClientSideCacheTest.java b/src/test/java/redis/clients/jedis/csc/JedisClusterClientSideCacheTest.java index 3b52072560..edd8c786e9 100644 --- a/src/test/java/redis/clients/jedis/csc/JedisClusterClientSideCacheTest.java +++ b/src/test/java/redis/clients/jedis/csc/JedisClusterClientSideCacheTest.java @@ -38,7 +38,7 @@ public class JedisClusterClientSideCacheTest extends JedisClusterTestBase { @Test public void simple() { - try (JedisCluster jedis = new JedisCluster(hnp, clientConfig.get(), new MapCSC())) { + try (JedisCluster jedis = new JedisCluster(hnp, clientConfig.get(), new MapClientSideCache())) { jedis.set("foo", "bar"); assertEquals("bar", jedis.get("foo")); jedis.del("foo"); @@ -49,7 +49,7 @@ public void simple() { @Test public void simpleWithSimpleMap() { HashMap map = new HashMap<>(); - try (JedisCluster jedis = new JedisCluster(hnp, clientConfig.get(), new MapCSC(map), + try (JedisCluster jedis = new JedisCluster(hnp, clientConfig.get(), new MapClientSideCache(map), singleConnectionPoolConfig.get())) { jedis.set("foo", "bar"); assertThat(map, Matchers.aMapWithSize(0)); @@ -68,7 +68,7 @@ public void simpleWithSimpleMap() { @Test public void flushAll() { - try (JedisCluster jedis = new JedisCluster(hnp, clientConfig.get(), new MapCSC())) { + try (JedisCluster jedis = new JedisCluster(hnp, clientConfig.get(), new MapClientSideCache())) { jedis.set("foo", "bar"); assertEquals("bar", jedis.get("foo")); jedis.flushAll(); @@ -79,7 +79,7 @@ public void flushAll() { @Test public void flushAllWithSimpleMap() { HashMap map = new HashMap<>(); - try (JedisCluster jedis = new JedisCluster(hnp, clientConfig.get(), new MapCSC(map), + try (JedisCluster jedis = new JedisCluster(hnp, clientConfig.get(), new MapClientSideCache(map), singleConnectionPoolConfig.get())) { jedis.set("foo", "bar"); assertThat(map, Matchers.aMapWithSize(0)); diff --git a/src/test/java/redis/clients/jedis/csc/JedisPooledClientSideCacheTest.java b/src/test/java/redis/clients/jedis/csc/JedisPooledClientSideCacheTest.java index 149b1730a0..39f78df68f 100644 --- a/src/test/java/redis/clients/jedis/csc/JedisPooledClientSideCacheTest.java +++ b/src/test/java/redis/clients/jedis/csc/JedisPooledClientSideCacheTest.java @@ -50,7 +50,7 @@ public void tearDown() throws Exception { @Test public void simple() { - try (JedisPooled jedis = new JedisPooled(hnp, clientConfig.get(), new MapCSC())) { + try (JedisPooled jedis = new JedisPooled(hnp, clientConfig.get(), new MapClientSideCache())) { control.set("foo", "bar"); assertEquals("bar", jedis.get("foo")); control.del("foo"); @@ -61,7 +61,7 @@ public void simple() { @Test public void simpleWithSimpleMap() { HashMap map = new HashMap<>(); - try (JedisPooled jedis = new JedisPooled(hnp, clientConfig.get(), new MapCSC(map), + try (JedisPooled jedis = new JedisPooled(hnp, clientConfig.get(), new MapClientSideCache(map), singleConnectionPoolConfig.get())) { control.set("foo", "bar"); assertThat(map, Matchers.aMapWithSize(0)); @@ -80,7 +80,7 @@ public void simpleWithSimpleMap() { @Test public void flushAll() { - try (JedisPooled jedis = new JedisPooled(hnp, clientConfig.get(), new MapCSC())) { + try (JedisPooled jedis = new JedisPooled(hnp, clientConfig.get(), new MapClientSideCache())) { control.set("foo", "bar"); assertEquals("bar", jedis.get("foo")); control.flushAll(); @@ -91,7 +91,7 @@ public void flushAll() { @Test public void flushAllWithSimpleMap() { HashMap map = new HashMap<>(); - try (JedisPooled jedis = new JedisPooled(hnp, clientConfig.get(), new MapCSC(map), + try (JedisPooled jedis = new JedisPooled(hnp, clientConfig.get(), new MapClientSideCache(map), singleConnectionPoolConfig.get())) { control.set("foo", "bar"); assertThat(map, Matchers.aMapWithSize(0)); diff --git a/src/test/java/redis/clients/jedis/csc/JedisSentineledClientSideCacheTest.java b/src/test/java/redis/clients/jedis/csc/JedisSentineledClientSideCacheTest.java index 6390ab3194..9b8eac8f9f 100644 --- a/src/test/java/redis/clients/jedis/csc/JedisSentineledClientSideCacheTest.java +++ b/src/test/java/redis/clients/jedis/csc/JedisSentineledClientSideCacheTest.java @@ -32,7 +32,7 @@ public class JedisSentineledClientSideCacheTest { @Test public void simple() { - try (JedisSentineled jedis = new JedisSentineled(MASTER_NAME, masterClientConfig, new MapCSC(), + try (JedisSentineled jedis = new JedisSentineled(MASTER_NAME, masterClientConfig, new MapClientSideCache(), sentinels, sentinelClientConfig)) { jedis.set("foo", "bar"); assertEquals("bar", jedis.get("foo")); @@ -44,7 +44,7 @@ public void simple() { @Test public void simpleWithSimpleMap() { HashMap map = new HashMap<>(); - try (JedisSentineled jedis = new JedisSentineled(MASTER_NAME, masterClientConfig, new MapCSC(map), + try (JedisSentineled jedis = new JedisSentineled(MASTER_NAME, masterClientConfig, new MapClientSideCache(map), sentinels, sentinelClientConfig)) { jedis.set("foo", "bar"); assertThat(map, Matchers.aMapWithSize(0)); @@ -63,7 +63,7 @@ public void simpleWithSimpleMap() { @Test public void flushAll() { - try (JedisSentineled jedis = new JedisSentineled(MASTER_NAME, masterClientConfig, new MapCSC(), + try (JedisSentineled jedis = new JedisSentineled(MASTER_NAME, masterClientConfig, new MapClientSideCache(), sentinels, sentinelClientConfig)) { jedis.set("foo", "bar"); assertEquals("bar", jedis.get("foo")); @@ -75,7 +75,7 @@ public void flushAll() { @Test public void flushAllWithSimpleMap() { HashMap map = new HashMap<>(); - try (JedisSentineled jedis = new JedisSentineled(MASTER_NAME, masterClientConfig, new MapCSC(map), + try (JedisSentineled jedis = new JedisSentineled(MASTER_NAME, masterClientConfig, new MapClientSideCache(map), sentinels, sentinelClientConfig)) { jedis.set("foo", "bar"); assertThat(map, Matchers.aMapWithSize(0)); diff --git a/src/test/java/redis/clients/jedis/csc/MapCSC.java b/src/test/java/redis/clients/jedis/csc/MapClientSideCache.java similarity index 68% rename from src/test/java/redis/clients/jedis/csc/MapCSC.java rename to src/test/java/redis/clients/jedis/csc/MapClientSideCache.java index fcb6d232a8..4ff4e4367a 100644 --- a/src/test/java/redis/clients/jedis/csc/MapCSC.java +++ b/src/test/java/redis/clients/jedis/csc/MapClientSideCache.java @@ -4,13 +4,11 @@ import java.util.HashMap; import java.util.Map; -import redis.clients.jedis.CommandObject; -import redis.clients.jedis.args.Rawable; -import redis.clients.jedis.csc.hash.PrimitiveArrayHashing; +import redis.clients.jedis.csc.hash.PrimitiveArrayCommandHasher; -public class MapCSC extends ClientSideCache { +public class MapClientSideCache extends ClientSideCache { - private static final PrimitiveArrayHashing HASHING = new PrimitiveArrayHashing() { + private static final PrimitiveArrayCommandHasher HASHING = new PrimitiveArrayCommandHasher() { @Override protected long hashLongs(long[] longs) { @@ -25,16 +23,16 @@ protected long hashBytes(byte[] bytes) { private final Map cache; - public MapCSC() { + public MapClientSideCache() { this(new HashMap<>()); } - public MapCSC(Map map) { + public MapClientSideCache(Map map) { super(HASHING); this.cache = map; } - public MapCSC(Map cache, ClientSideCacheable cacheable) { + public MapClientSideCache(Map cache, ClientSideCacheable cacheable) { super(HASHING, cacheable); this.cache = cache; }