Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
org.springframework.data.redis.connection.DefaultStringRedisConnection Maven / Gradle / Ivy
/*
* Copyright 2011-2018 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.data.redis.connection;
import java.time.Duration;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Properties;
import java.util.Queue;
import java.util.Set;
import java.util.Map.Entry;
import java.util.concurrent.TimeUnit;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.core.convert.converter.Converter;
import org.springframework.data.geo.Circle;
import org.springframework.data.geo.Distance;
import org.springframework.data.geo.GeoResults;
import org.springframework.data.geo.Metric;
import org.springframework.data.geo.Point;
import org.springframework.data.redis.RedisSystemException;
import org.springframework.data.redis.connection.convert.Converters;
import org.springframework.data.redis.connection.convert.ListConverter;
import org.springframework.data.redis.connection.convert.MapConverter;
import org.springframework.data.redis.connection.convert.SetConverter;
import org.springframework.data.redis.core.ConvertingCursor;
import org.springframework.data.redis.core.Cursor;
import org.springframework.data.redis.core.ScanOptions;
import org.springframework.data.redis.core.types.Expiration;
import org.springframework.data.redis.core.types.RedisClientInfo;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import org.springframework.util.ObjectUtils;
/**
* Default implementation of {@link StringRedisConnection}.
*
* @author Costin Leau
* @author Jennifer Hickey
* @author Christoph Strobl
* @author Thomas Darimont
* @author Mark Paluch
* @author Ninad Divadkar
*/
public class DefaultStringRedisConnection implements StringRedisConnection, DecoratedRedisConnection {
private static final byte[][] EMPTY_2D_BYTE_ARRAY = new byte[0][];
private final Log log = LogFactory.getLog(DefaultStringRedisConnection.class);
private final RedisConnection delegate;
private final RedisSerializer serializer;
private Converter bytesToString = new DeserializingConverter();
private SetConverter tupleToStringTuple = new SetConverter<>(new TupleConverter());
private SetConverter stringTupleToTuple = new SetConverter<>(new StringTupleConverter());
private ListConverter byteListToStringList = new ListConverter<>(bytesToString);
private MapConverter byteMapToStringMap = new MapConverter<>(bytesToString);
private SetConverter byteSetToStringSet = new SetConverter<>(bytesToString);
private Converter>, GeoResults>> byteGeoResultsToStringGeoResults;
@SuppressWarnings("rawtypes") private Queue pipelineConverters = new LinkedList<>();
@SuppressWarnings("rawtypes") private Queue txConverters = new LinkedList<>();
private boolean deserializePipelineAndTxResults = false;
private IdentityConverter identityConverter = new IdentityConverter<>();
private class DeserializingConverter implements Converter {
public String convert(byte[] source) {
return serializer.deserialize(source);
}
}
private class TupleConverter implements Converter {
public StringTuple convert(Tuple source) {
return new DefaultStringTuple(source, serializer.deserialize(source.getValue()));
}
}
private class StringTupleConverter implements Converter {
public Tuple convert(StringTuple source) {
return new DefaultTuple(source.getValue(), source.getScore());
}
}
private class IdentityConverter implements Converter {
public Object convert(Object source) {
return source;
}
}
@SuppressWarnings("rawtypes")
private class TransactionResultConverter implements Converter, List> {
private Queue txConverters;
public TransactionResultConverter(Queue txConverters) {
this.txConverters = txConverters;
}
public List convert(List execResults) {
return convertResults(execResults, txConverters);
}
}
/**
* Constructs a new DefaultStringRedisConnection
instance. Uses {@link StringRedisSerializer} as
* underlying serializer.
*
* @param connection Redis connection
*/
public DefaultStringRedisConnection(RedisConnection connection) {
this(connection, RedisSerializer.string());
}
/**
* Constructs a new DefaultStringRedisConnection
instance.
*
* @param connection Redis connection
* @param serializer String serializer
*/
public DefaultStringRedisConnection(RedisConnection connection, RedisSerializer serializer) {
Assert.notNull(connection, "connection is required");
Assert.notNull(serializer, "serializer is required");
this.delegate = connection;
this.serializer = serializer;
this.byteGeoResultsToStringGeoResults = Converters.deserializingGeoResultsConverter(serializer);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#append(byte[], byte[])
*/
@Override
public Long append(byte[] key, byte[] value) {
return convertAndReturn(delegate.append(key, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisServerCommands#bgSave()
*/
@Override
public void bgSave() {
delegate.bgSave();
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisServerCommands#bgReWriteAof()
*/
@Override
public void bgReWriteAof() {
delegate.bgReWriteAof();
}
/**
* @deprecated As of 1.3, use {@link #bgReWriteAof}.
*/
@Deprecated
public void bgWriteAof() {
bgReWriteAof();
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisListCommands#bLPop(int, byte[][])
*/
@Override
public List bLPop(int timeout, byte[]... keys) {
return convertAndReturn(delegate.bLPop(timeout, keys), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisListCommands#bRPop(int, byte[][])
*/
@Override
public List bRPop(int timeout, byte[]... keys) {
return convertAndReturn(delegate.bRPop(timeout, keys), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisListCommands#bRPopLPush(int, byte[], byte[])
*/
@Override
public byte[] bRPopLPush(int timeout, byte[] srcKey, byte[] dstKey) {
return convertAndReturn(delegate.bRPopLPush(timeout, srcKey, dstKey), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisConnection#close()
*/
@Override
public void close() throws RedisSystemException {
delegate.close();
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisServerCommands#dbSize()
*/
@Override
public Long dbSize() {
return convertAndReturn(delegate.dbSize(), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#decr(byte[])
*/
@Override
public Long decr(byte[] key) {
return convertAndReturn(delegate.decr(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#decrBy(byte[], long)
*/
@Override
public Long decrBy(byte[] key, long value) {
return convertAndReturn(delegate.decrBy(key, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#del(byte[][])
*/
@Override
public Long del(byte[]... keys) {
return convertAndReturn(delegate.del(keys), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#unlink(byte[][])
*/
@Override
public Long unlink(byte[]... keys) {
return convertAndReturn(delegate.unlink(keys), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisTxCommands#discard()
*/
@Override
public void discard() {
try {
delegate.discard();
} finally {
txConverters.clear();
}
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisConnectionCommands#echo(byte[])
*/
@Override
public byte[] echo(byte[] message) {
return convertAndReturn(delegate.echo(message), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisTxCommands#exec()
*/
@Override
@SuppressWarnings("rawtypes")
public List exec() {
try {
List results = delegate.exec();
if (isPipelined()) {
pipelineConverters.add(new TransactionResultConverter(new LinkedList<>(txConverters)));
return results;
}
return convertResults(results, txConverters);
} finally {
txConverters.clear();
}
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#exists(byte[])
*/
@Override
public Boolean exists(byte[] key) {
return convertAndReturn(delegate.exists(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#exists(String[])
*/
@Override
public Long exists(String... keys) {
return convertAndReturn(delegate.exists(serializeMulti(keys)), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#exists(byte[][])
*/
@Override
public Long exists(byte[]... keys) {
return convertAndReturn(delegate.exists(keys), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#expire(byte[], long)
*/
@Override
public Boolean expire(byte[] key, long seconds) {
return convertAndReturn(delegate.expire(key, seconds), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#expireAt(byte[], long)
*/
@Override
public Boolean expireAt(byte[] key, long unixTime) {
return convertAndReturn(delegate.expireAt(key, unixTime), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisServerCommands#flushAll()
*/
@Override
public void flushAll() {
delegate.flushAll();
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisServerCommands#flushDb()
*/
@Override
public void flushDb() {
delegate.flushDb();
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#get(byte[])
*/
@Override
public byte[] get(byte[] key) {
return convertAndReturn(delegate.get(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#getBit(byte[], long)
*/
@Override
public Boolean getBit(byte[] key, long offset) {
return convertAndReturn(delegate.getBit(key, offset), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisServerCommands#getConfig(java.lang.String)
*/
@Override
public Properties getConfig(String pattern) {
return convertAndReturn(delegate.getConfig(pattern), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisConnection#getNativeConnection()
*/
@Override
public Object getNativeConnection() {
return convertAndReturn(delegate.getNativeConnection(), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#getRange(byte[], long, long)
*/
@Override
public byte[] getRange(byte[] key, long start, long end) {
return convertAndReturn(delegate.getRange(key, start, end), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#getSet(byte[], byte[])
*/
@Override
public byte[] getSet(byte[] key, byte[] value) {
return convertAndReturn(delegate.getSet(key, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisPubSubCommands#getSubscription()
*/
@Override
public Subscription getSubscription() {
return delegate.getSubscription();
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisHashCommands#hDel(byte[], byte[][])
*/
@Override
public Long hDel(byte[] key, byte[]... fields) {
return convertAndReturn(delegate.hDel(key, fields), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisHashCommands#hExists(byte[], byte[])
*/
@Override
public Boolean hExists(byte[] key, byte[] field) {
return convertAndReturn(delegate.hExists(key, field), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisHashCommands#hGet(byte[], byte[])
*/
@Override
public byte[] hGet(byte[] key, byte[] field) {
return convertAndReturn(delegate.hGet(key, field), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisHashCommands#hGetAll(byte[])
*/
@Override
public Map hGetAll(byte[] key) {
return convertAndReturn(delegate.hGetAll(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisHashCommands#hIncrBy(byte[], byte[], long)
*/
@Override
public Long hIncrBy(byte[] key, byte[] field, long delta) {
return convertAndReturn(delegate.hIncrBy(key, field, delta), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisHashCommands#hIncrBy(byte[], byte[], double)
*/
@Override
public Double hIncrBy(byte[] key, byte[] field, double delta) {
return convertAndReturn(delegate.hIncrBy(key, field, delta), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisHashCommands#hKeys(byte[])
*/
@Override
public Set hKeys(byte[] key) {
return convertAndReturn(delegate.hKeys(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisHashCommands#hLen(byte[])
*/
@Override
public Long hLen(byte[] key) {
return convertAndReturn(delegate.hLen(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisHashCommands#hMGet(byte[], byte[][])
*/
@Override
public List hMGet(byte[] key, byte[]... fields) {
return convertAndReturn(delegate.hMGet(key, fields), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisHashCommands#hMSet(byte[], java.util.Map)
*/
@Override
public void hMSet(byte[] key, Map hashes) {
delegate.hMSet(key, hashes);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisHashCommands#hSet(byte[], byte[], byte[])
*/
@Override
public Boolean hSet(byte[] key, byte[] field, byte[] value) {
return convertAndReturn(delegate.hSet(key, field, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisHashCommands#hSetNX(byte[], byte[], byte[])
*/
@Override
public Boolean hSetNX(byte[] key, byte[] field, byte[] value) {
return convertAndReturn(delegate.hSetNX(key, field, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisHashCommands#hVals(byte[])
*/
@Override
public List hVals(byte[] key) {
return convertAndReturn(delegate.hVals(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#incr(byte[])
*/
@Override
public Long incr(byte[] key) {
return convertAndReturn(delegate.incr(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#incrBy(byte[], long)
*/
@Override
public Long incrBy(byte[] key, long value) {
return convertAndReturn(delegate.incrBy(key, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#incrBy(byte[], double)
*/
@Override
public Double incrBy(byte[] key, double value) {
return convertAndReturn(delegate.incrBy(key, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisServerCommands#info()
*/
@Override
public Properties info() {
return convertAndReturn(delegate.info(), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisServerCommands#info(java.lang.String)
*/
@Override
public Properties info(String section) {
return convertAndReturn(delegate.info(section), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisConnection#isClosed()
*/
@Override
public boolean isClosed() {
return delegate.isClosed();
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisConnection#isQueueing()
*/
@Override
public boolean isQueueing() {
return delegate.isQueueing();
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisPubSubCommands#isSubscribed()
*/
@Override
public boolean isSubscribed() {
return delegate.isSubscribed();
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#keys(byte[])
*/
@Override
public Set keys(byte[] pattern) {
return convertAndReturn(delegate.keys(pattern), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisServerCommands#lastSave()
*/
@Override
public Long lastSave() {
return convertAndReturn(delegate.lastSave(), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisListCommands#lIndex(byte[], long)
*/
@Override
public byte[] lIndex(byte[] key, long index) {
return convertAndReturn(delegate.lIndex(key, index), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisListCommands#lInsert(byte[], org.springframework.data.redis.connection.RedisListCommands.Position, byte[], byte[])
*/
@Override
public Long lInsert(byte[] key, Position where, byte[] pivot, byte[] value) {
return convertAndReturn(delegate.lInsert(key, where, pivot, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisListCommands#lLen(byte[])
*/
@Override
public Long lLen(byte[] key) {
return convertAndReturn(delegate.lLen(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisListCommands#lPop(byte[])
*/
@Override
public byte[] lPop(byte[] key) {
return convertAndReturn(delegate.lPop(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisListCommands#lPush(byte[], byte[][])
*/
@Override
public Long lPush(byte[] key, byte[]... values) {
return convertAndReturn(delegate.lPush(key, values), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisListCommands#lPushX(byte[], byte[])
*/
@Override
public Long lPushX(byte[] key, byte[] value) {
return convertAndReturn(delegate.lPushX(key, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisListCommands#lRange(byte[], long, long)
*/
@Override
public List lRange(byte[] key, long start, long end) {
return convertAndReturn(delegate.lRange(key, start, end), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisListCommands#lRem(byte[], long, byte[])
*/
@Override
public Long lRem(byte[] key, long count, byte[] value) {
return convertAndReturn(delegate.lRem(key, count, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisListCommands#lSet(byte[], long, byte[])
*/
@Override
public void lSet(byte[] key, long index, byte[] value) {
delegate.lSet(key, index, value);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisListCommands#lTrim(byte[], long, long)
*/
@Override
public void lTrim(byte[] key, long start, long end) {
delegate.lTrim(key, start, end);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#mGet(byte[][])
*/
@Override
public List mGet(byte[]... keys) {
return convertAndReturn(delegate.mGet(keys), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#mSet(java.util.Map)
*/
@Override
public Boolean mSet(Map tuple) {
return convertAndReturn(delegate.mSet(tuple), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#mSetNX(java.util.Map)
*/
@Override
public Boolean mSetNX(Map tuple) {
return convertAndReturn(delegate.mSetNX(tuple), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisTxCommands#multi()
*/
@Override
public void multi() {
delegate.multi();
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#persist(byte[])
*/
@Override
public Boolean persist(byte[] key) {
return convertAndReturn(delegate.persist(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#move(byte[], int)
*/
@Override
public Boolean move(byte[] key, int dbIndex) {
return convertAndReturn(delegate.move(key, dbIndex), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisConnectionCommands#ping()
*/
@Override
public String ping() {
return convertAndReturn(delegate.ping(), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisPubSubCommands#pSubscribe(org.springframework.data.redis.connection.MessageListener, byte[][])
*/
@Override
public void pSubscribe(MessageListener listener, byte[]... patterns) {
delegate.pSubscribe(listener, patterns);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisPubSubCommands#publish(byte[], byte[])
*/
@Override
public Long publish(byte[] channel, byte[] message) {
return convertAndReturn(delegate.publish(channel, message), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#randomKey()
*/
@Override
public byte[] randomKey() {
return convertAndReturn(delegate.randomKey(), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#rename(byte[], byte[])
*/
@Override
public void rename(byte[] sourceKey, byte[] targetKey) {
delegate.rename(sourceKey, targetKey);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#renameNX(byte[], byte[])
*/
@Override
public Boolean renameNX(byte[] sourceKey, byte[] targetKey) {
return convertAndReturn(delegate.renameNX(sourceKey, targetKey), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisServerCommands#resetConfigStats()
*/
@Override
public void resetConfigStats() {
delegate.resetConfigStats();
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisListCommands#rPop(byte[])
*/
@Override
public byte[] rPop(byte[] key) {
return convertAndReturn(delegate.rPop(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisListCommands#rPopLPush(byte[], byte[])
*/
@Override
public byte[] rPopLPush(byte[] srcKey, byte[] dstKey) {
return convertAndReturn(delegate.rPopLPush(srcKey, dstKey), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisListCommands#rPush(byte[], byte[][])
*/
@Override
public Long rPush(byte[] key, byte[]... values) {
return convertAndReturn(delegate.rPush(key, values), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisListCommands#rPushX(byte[], byte[])
*/
@Override
public Long rPushX(byte[] key, byte[] value) {
return convertAndReturn(delegate.rPushX(key, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisSetCommands#sAdd(byte[], byte[][])
*/
@Override
public Long sAdd(byte[] key, byte[]... values) {
return convertAndReturn(delegate.sAdd(key, values), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisServerCommands#save()
*/
@Override
public void save() {
delegate.save();
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisSetCommands#sCard(byte[])
*/
@Override
public Long sCard(byte[] key) {
return convertAndReturn(delegate.sCard(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisSetCommands#sDiff(byte[][])
*/
@Override
public Set sDiff(byte[]... keys) {
return convertAndReturn(delegate.sDiff(keys), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisSetCommands#sDiffStore(byte[], byte[][])
*/
@Override
public Long sDiffStore(byte[] destKey, byte[]... keys) {
return convertAndReturn(delegate.sDiffStore(destKey, keys), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisConnectionCommands#select(int)
*/
@Override
public void select(int dbIndex) {
delegate.select(dbIndex);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#set(byte[], byte[])
*/
@Override
public Boolean set(byte[] key, byte[] value) {
return convertAndReturn(delegate.set(key, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#set(byte[], byte[], org.springframework.data.redis.core.types.Expiration, org.springframework.data.redis.connection.RedisStringCommands.SetOptions)
*/
@Override
public Boolean set(byte[] key, byte[] value, Expiration expiration, SetOption option) {
return convertAndReturn(delegate.set(key, value, expiration, option), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#setBit(byte[], long, boolean)
*/
@Override
public Boolean setBit(byte[] key, long offset, boolean value) {
return convertAndReturn(delegate.setBit(key, offset, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisServerCommands#setConfig(java.lang.String, java.lang.String)
*/
@Override
public void setConfig(String param, String value) {
delegate.setConfig(param, value);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#setEx(byte[], long, byte[])
*/
@Override
public Boolean setEx(byte[] key, long seconds, byte[] value) {
return convertAndReturn(delegate.setEx(key, seconds, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#pSetEx(byte[], long, byte[])
*/
@Override
public Boolean pSetEx(byte[] key, long milliseconds, byte[] value) {
return convertAndReturn(delegate.pSetEx(key, milliseconds, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#setNX(byte[], byte[])
*/
@Override
public Boolean setNX(byte[] key, byte[] value) {
return convertAndReturn(delegate.setNX(key, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#setRange(byte[], byte[], long)
*/
@Override
public void setRange(byte[] key, byte[] value, long start) {
delegate.setRange(key, value, start);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisServerCommands#shutdown()
*/
@Override
public void shutdown() {
delegate.shutdown();
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisServerCommands#shutdown(org.springframework.data.redis.connection.RedisServerCommands.ShutdownOption)
*/
@Override
public void shutdown(ShutdownOption option) {
delegate.shutdown(option);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisSetCommands#sInter(byte[][])
*/
@Override
public Set sInter(byte[]... keys) {
return convertAndReturn(delegate.sInter(keys), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisSetCommands#sInterStore(byte[], byte[][])
*/
@Override
public Long sInterStore(byte[] destKey, byte[]... keys) {
return convertAndReturn(delegate.sInterStore(destKey, keys), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisSetCommands#sIsMember(byte[], byte[])
*/
@Override
public Boolean sIsMember(byte[] key, byte[] value) {
return convertAndReturn(delegate.sIsMember(key, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisSetCommands#sMembers(byte[])
*/
@Override
public Set sMembers(byte[] key) {
return convertAndReturn(delegate.sMembers(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisSetCommands#sMove(byte[], byte[], byte[])
*/
@Override
public Boolean sMove(byte[] srcKey, byte[] destKey, byte[] value) {
return convertAndReturn(delegate.sMove(srcKey, destKey, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#sort(byte[], org.springframework.data.redis.connection.SortParameters, byte[])
*/
@Override
public Long sort(byte[] key, SortParameters params, byte[] storeKey) {
return convertAndReturn(delegate.sort(key, params, storeKey), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#sort(byte[], org.springframework.data.redis.connection.SortParameters)
*/
@Override
public List sort(byte[] key, SortParameters params) {
return convertAndReturn(delegate.sort(key, params), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#encoding(byte[])
*/
@Override
public ValueEncoding encodingOf(byte[] key) {
return convertAndReturn(delegate.encodingOf(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#idletime(byte[])
*/
@Override
public Duration idletime(byte[] key) {
return convertAndReturn(delegate.idletime(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#refcount(byte[])
*/
@Override
public Long refcount(byte[] key) {
return convertAndReturn(delegate.refcount(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisSetCommands#sPop(byte[])
*/
@Override
public byte[] sPop(byte[] key) {
return convertAndReturn(delegate.sPop(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisSetCommands#sPop(byte[], long)
*/
@Override
public List sPop(byte[] key, long count) {
return convertAndReturn(delegate.sPop(key, count), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisSetCommands#sRandMember(byte[])
*/
@Override
public byte[] sRandMember(byte[] key) {
return convertAndReturn(delegate.sRandMember(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisSetCommands#sRandMember(byte[], long)
*/
@Override
public List sRandMember(byte[] key, long count) {
return convertAndReturn(delegate.sRandMember(key, count), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisSetCommands#sRem(byte[], byte[][])
*/
@Override
public Long sRem(byte[] key, byte[]... values) {
return convertAndReturn(delegate.sRem(key, values), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#strLen(byte[])
*/
@Override
public Long strLen(byte[] key) {
return convertAndReturn(delegate.strLen(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#bitCount(byte[])
*/
@Override
public Long bitCount(byte[] key) {
return convertAndReturn(delegate.bitCount(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#bitCount(byte[], long, long)
*/
@Override
public Long bitCount(byte[] key, long start, long end) {
return convertAndReturn(delegate.bitCount(key, start, end), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#bitOp(org.springframework.data.redis.connection.RedisStringCommands.BitOperation, byte[], byte[][])
*/
@Override
public Long bitOp(BitOperation op, byte[] destination, byte[]... keys) {
return convertAndReturn(delegate.bitOp(op, destination, keys), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#bitPos(byte[], boolean, org.springframework.data.domain.Range)
*/
@Nullable
@Override
public Long bitPos(byte[] key, boolean bit, org.springframework.data.domain.Range range) {
return convertAndReturn(delegate.bitPos(key, bit, range), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisPubSubCommands#subscribe(org.springframework.data.redis.connection.MessageListener, byte[][])
*/
@Override
public void subscribe(MessageListener listener, byte[]... channels) {
delegate.subscribe(listener, channels);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisSetCommands#sUnion(byte[][])
*/
@Override
public Set sUnion(byte[]... keys) {
return convertAndReturn(delegate.sUnion(keys), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisSetCommands#sUnionStore(byte[], byte[][])
*/
@Override
public Long sUnionStore(byte[] destKey, byte[]... keys) {
return convertAndReturn(delegate.sUnionStore(destKey, keys), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#ttl(byte[])
*/
@Override
public Long ttl(byte[] key) {
return convertAndReturn(delegate.ttl(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#ttl(byte[], java.util.concurrent.TimeUnit)
*/
@Override
public Long ttl(byte[] key, TimeUnit timeUnit) {
return convertAndReturn(delegate.ttl(key, timeUnit), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#type(byte[])
*/
@Override
public DataType type(byte[] key) {
return convertAndReturn(delegate.type(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#touch(byte[][])
*/
@Override
public Long touch(byte[]... keys) {
return convertAndReturn(delegate.touch(keys), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisTxCommands#unwatch()
*/
@Override
public void unwatch() {
delegate.unwatch();
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisTxCommands#watch(byte[][])
*/
@Override
public void watch(byte[]... keys) {
delegate.watch(keys);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zAdd(byte[], double, byte[])
*/
@Override
public Boolean zAdd(byte[] key, double score, byte[] value) {
return convertAndReturn(delegate.zAdd(key, score, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zAdd(byte[], java.util.Set)
*/
@Override
public Long zAdd(byte[] key, Set tuples) {
return convertAndReturn(delegate.zAdd(key, tuples), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zCard(byte[])
*/
@Override
public Long zCard(byte[] key) {
return convertAndReturn(delegate.zCard(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zCount(byte[], double, double)
*/
@Override
public Long zCount(byte[] key, double min, double max) {
return convertAndReturn(delegate.zCount(key, min, max), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zCount(byte[], org.springframework.data.redis.connection.RedisZSetCommands.Range)
*/
@Override
public Long zCount(byte[] key, Range range) {
return convertAndReturn(delegate.zCount(key, range), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zIncrBy(byte[], double, byte[])
*/
@Override
public Double zIncrBy(byte[] key, double increment, byte[] value) {
return convertAndReturn(delegate.zIncrBy(key, increment, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zInterStore(byte[], org.springframework.data.redis.connection.RedisZSetCommands.Aggregate, org.springframework.data.redis.connection.RedisZSetCommands.Weights, byte[][])
*/
@Override
public Long zInterStore(byte[] destKey, Aggregate aggregate, Weights weights, byte[]... sets) {
return convertAndReturn(delegate.zInterStore(destKey, aggregate, weights, sets), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zInterStore(byte[], byte[][])
*/
@Override
public Long zInterStore(byte[] destKey, byte[]... sets) {
return convertAndReturn(delegate.zInterStore(destKey, sets), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRange(byte[], long, long)
*/
@Override
public Set zRange(byte[] key, long start, long end) {
return convertAndReturn(delegate.zRange(key, start, end), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRangeByScore(byte[], double, double, long, long)
*/
@Override
public Set zRangeByScore(byte[] key, double min, double max, long offset, long count) {
return convertAndReturn(delegate.zRangeByScore(key, min, max, offset, count), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRangeByScore(byte[], org.springframework.data.redis.connection.RedisZSetCommands.Range)
*/
@Override
public Set zRangeByScore(byte[] key, Range range) {
return convertAndReturn(delegate.zRangeByScore(key, range), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRangeByScore(byte[], org.springframework.data.redis.connection.RedisZSetCommands.Range, org.springframework.data.redis.connection.RedisZSetCommands.Limit)
*/
@Override
public Set zRangeByScore(byte[] key, Range range, Limit limit) {
return convertAndReturn(delegate.zRangeByScore(key, range, limit), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRangeByScoreWithScores(byte[], org.springframework.data.redis.connection.RedisZSetCommands.Range)
*/
@Override
public Set zRangeByScoreWithScores(byte[] key, Range range) {
return convertAndReturn(delegate.zRangeByScoreWithScores(key, range), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRangeByScore(byte[], double, double)
*/
@Override
public Set zRangeByScore(byte[] key, double min, double max) {
return convertAndReturn(delegate.zRangeByScore(key, min, max), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRangeByScoreWithScores(byte[], double, double, long, long)
*/
@Override
public Set zRangeByScoreWithScores(byte[] key, double min, double max, long offset, long count) {
return convertAndReturn(delegate.zRangeByScoreWithScores(key, min, max, offset, count), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRangeByScoreWithScores(byte[], org.springframework.data.redis.connection.RedisZSetCommands.Range, org.springframework.data.redis.connection.RedisZSetCommands.Limit)
*/
@Override
public Set zRangeByScoreWithScores(byte[] key, Range range, Limit limit) {
return convertAndReturn(delegate.zRangeByScoreWithScores(key, range, limit), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRangeByScoreWithScores(byte[], double, double)
*/
@Override
public Set zRangeByScoreWithScores(byte[] key, double min, double max) {
return convertAndReturn(delegate.zRangeByScoreWithScores(key, min, max), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRangeWithScores(byte[], long, long)
*/
@Override
public Set zRangeWithScores(byte[] key, long start, long end) {
return convertAndReturn(delegate.zRangeWithScores(key, start, end), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRevRangeByScore(byte[], double, double, long, long)
*/
@Override
public Set zRevRangeByScore(byte[] key, double min, double max, long offset, long count) {
return convertAndReturn(delegate.zRevRangeByScore(key, min, max, offset, count), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRevRangeByScore(byte[], org.springframework.data.redis.connection.RedisZSetCommands.Range)
*/
@Override
public Set zRevRangeByScore(byte[] key, Range range) {
return convertAndReturn(delegate.zRevRangeByScore(key, range), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRevRangeByScore(byte[], double, double)
*/
@Override
public Set zRevRangeByScore(byte[] key, double min, double max) {
return convertAndReturn(delegate.zRevRangeByScore(key, min, max), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRevRangeByScore(byte[], org.springframework.data.redis.connection.RedisZSetCommands.Range, org.springframework.data.redis.connection.RedisZSetCommands.Limit)
*/
@Override
public Set zRevRangeByScore(byte[] key, Range range, Limit limit) {
return convertAndReturn(delegate.zRevRangeByScore(key, range, limit), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRevRangeByScoreWithScores(byte[], double, double, long, long)
*/
@Override
public Set zRevRangeByScoreWithScores(byte[] key, double min, double max, long offset, long count) {
return convertAndReturn(delegate.zRevRangeByScoreWithScores(key, min, max, offset, count), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRevRangeByScoreWithScores(byte[], org.springframework.data.redis.connection.RedisZSetCommands.Range)
*/
@Override
public Set zRevRangeByScoreWithScores(byte[] key, Range range) {
return convertAndReturn(delegate.zRevRangeByScoreWithScores(key, range), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRevRangeByScoreWithScores(byte[], org.springframework.data.redis.connection.RedisZSetCommands.Range, org.springframework.data.redis.connection.RedisZSetCommands.Limit)
*/
@Override
public Set zRevRangeByScoreWithScores(byte[] key, Range range, Limit limit) {
return convertAndReturn(delegate.zRevRangeByScoreWithScores(key, range, limit), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRevRangeByScoreWithScores(byte[], double, double)
*/
@Override
public Set zRevRangeByScoreWithScores(byte[] key, double min, double max) {
return convertAndReturn(delegate.zRevRangeByScoreWithScores(key, min, max), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRank(byte[], byte[])
*/
@Override
public Long zRank(byte[] key, byte[] value) {
return convertAndReturn(delegate.zRank(key, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRem(byte[], byte[][])
*/
@Override
public Long zRem(byte[] key, byte[]... values) {
return convertAndReturn(delegate.zRem(key, values), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRemRange(byte[], long, long)
*/
@Override
public Long zRemRange(byte[] key, long start, long end) {
return convertAndReturn(delegate.zRemRange(key, start, end), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRemRangeByScore(byte[], double, double)
*/
@Override
public Long zRemRangeByScore(byte[] key, double min, double max) {
return convertAndReturn(delegate.zRemRangeByScore(key, min, max), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRemRangeByScore(byte[], org.springframework.data.redis.connection.RedisZSetCommands.Range)
*/
@Override
public Long zRemRangeByScore(byte[] key, Range range) {
return convertAndReturn(delegate.zRemRangeByScore(key, range), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRevRange(byte[], long, long)
*/
@Override
public Set zRevRange(byte[] key, long start, long end) {
return convertAndReturn(delegate.zRevRange(key, start, end), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRevRangeWithScores(byte[], long, long)
*/
@Override
public Set zRevRangeWithScores(byte[] key, long start, long end) {
return convertAndReturn(delegate.zRevRangeWithScores(key, start, end), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRevRank(byte[], byte[])
*/
@Override
public Long zRevRank(byte[] key, byte[] value) {
return convertAndReturn(delegate.zRevRank(key, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zScore(byte[], byte[])
*/
@Override
public Double zScore(byte[] key, byte[] value) {
return convertAndReturn(delegate.zScore(key, value), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zUnionStore(byte[], org.springframework.data.redis.connection.RedisZSetCommands.Aggregate, org.springframework.data.redis.connection.RedisZSetCommands.Weights, byte[][])
*/
@Override
public Long zUnionStore(byte[] destKey, Aggregate aggregate, Weights weights, byte[]... sets) {
return convertAndReturn(delegate.zUnionStore(destKey, aggregate, weights, sets), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zUnionStore(byte[], byte[][])
*/
public Long zUnionStore(byte[] destKey, byte[]... sets) {
return convertAndReturn(delegate.zUnionStore(destKey, sets), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#pExpire(byte[], long)
*/
@Override
public Boolean pExpire(byte[] key, long millis) {
return convertAndReturn(delegate.pExpire(key, millis), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#pExpireAt(byte[], long)
*/
@Override
public Boolean pExpireAt(byte[] key, long unixTimeInMillis) {
return convertAndReturn(delegate.pExpireAt(key, unixTimeInMillis), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#pTtl(byte[])
*/
@Override
public Long pTtl(byte[] key) {
return convertAndReturn(delegate.pTtl(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#pTtl(byte[], java.util.concurrent.TimeUnit)
*/
@Override
public Long pTtl(byte[] key, TimeUnit timeUnit) {
return convertAndReturn(delegate.pTtl(key, timeUnit), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#dump(byte[])
*/
@Override
public byte[] dump(byte[] key) {
return convertAndReturn(delegate.dump(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#restore(byte[], long, byte[], boolean)
*/
@Override
public void restore(byte[] key, long ttlInMillis, byte[] serializedValue, boolean replace) {
delegate.restore(key, ttlInMillis, serializedValue, replace);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisScriptingCommands#scriptFlush()
*/
@Override
public void scriptFlush() {
delegate.scriptFlush();
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisScriptingCommands#scriptKill()
*/
@Override
public void scriptKill() {
delegate.scriptKill();
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisScriptingCommands#scriptLoad(byte[])
*/
@Override
public String scriptLoad(byte[] script) {
return convertAndReturn(delegate.scriptLoad(script), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisScriptingCommands#scriptExists(java.lang.String[])
*/
@Override
public List scriptExists(String... scriptSha1) {
return convertAndReturn(delegate.scriptExists(scriptSha1), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisScriptingCommands#eval(byte[], org.springframework.data.redis.connection.ReturnType, int, byte[][])
*/
@Override
public T eval(byte[] script, ReturnType returnType, int numKeys, byte[]... keysAndArgs) {
return convertAndReturn(delegate.eval(script, returnType, numKeys, keysAndArgs), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisScriptingCommands#evalSha(java.lang.String, org.springframework.data.redis.connection.ReturnType, int, byte[][])
*/
@Override
public T evalSha(String scriptSha1, ReturnType returnType, int numKeys, byte[]... keysAndArgs) {
return convertAndReturn(delegate.evalSha(scriptSha1, returnType, numKeys, keysAndArgs), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisScriptingCommands#evalSha(byte[], org.springframework.data.redis.connection.ReturnType, int, byte[][])
*/
@Override
public T evalSha(byte[] scriptSha1, ReturnType returnType, int numKeys, byte[]... keysAndArgs) {
return convertAndReturn(delegate.evalSha(scriptSha1, returnType, numKeys, keysAndArgs), identityConverter);
}
//
// String methods
//
private byte[] serialize(String data) {
return serializer.serialize(data);
}
private byte[][] serializeMulti(String... keys) {
if (keys == null) {
return EMPTY_2D_BYTE_ARRAY;
}
byte[][] ret = new byte[keys.length][];
for (int i = 0; i < ret.length; i++) {
ret[i] = serializer.serialize(keys[i]);
}
return ret;
}
private Map serialize(Map hashes) {
Map ret = new LinkedHashMap<>(hashes.size());
for (Map.Entry entry : hashes.entrySet()) {
ret.put(serializer.serialize(entry.getKey()), serializer.serialize(entry.getValue()));
}
return ret;
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#append(java.lang.String, java.lang.String)
*/
@Override
public Long append(String key, String value) {
return append(serialize(key), serialize(value));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#bLPop(int, java.lang.String[])
*/
@Override
public List bLPop(int timeout, String... keys) {
return convertAndReturn(delegate.bLPop(timeout, serializeMulti(keys)), byteListToStringList);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#bRPop(int, java.lang.String[])
*/
@Override
public List bRPop(int timeout, String... keys) {
return convertAndReturn(delegate.bRPop(timeout, serializeMulti(keys)), byteListToStringList);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#bRPopLPush(int, java.lang.String, java.lang.String)
*/
@Override
public String bRPopLPush(int timeout, String srcKey, String dstKey) {
return convertAndReturn(delegate.bRPopLPush(timeout, serialize(srcKey), serialize(dstKey)), bytesToString);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#decr(java.lang.String)
*/
@Override
public Long decr(String key) {
return decr(serialize(key));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#decrBy(java.lang.String, long)
*/
@Override
public Long decrBy(String key, long value) {
return decrBy(serialize(key), value);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#del(java.lang.String[])
*/
@Override
public Long del(String... keys) {
return del(serializeMulti(keys));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#unlink(java.lang.String[])
*/
@Override
public Long unlink(String... keys) {
return unlink(serializeMulti(keys));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#echo(java.lang.String)
*/
@Override
public String echo(String message) {
return convertAndReturn(delegate.echo(serialize(message)), bytesToString);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#exists(java.lang.String)
*/
@Override
public Boolean exists(String key) {
return exists(serialize(key));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#expire(java.lang.String, long)
*/
@Override
public Boolean expire(String key, long seconds) {
return expire(serialize(key), seconds);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#expireAt(java.lang.String, long)
*/
@Override
public Boolean expireAt(String key, long unixTime) {
return expireAt(serialize(key), unixTime);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#get(java.lang.String)
*/
@Override
public String get(String key) {
return convertAndReturn(delegate.get(serialize(key)), bytesToString);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#getBit(java.lang.String, long)
*/
@Override
public Boolean getBit(String key, long offset) {
return getBit(serialize(key), offset);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#getRange(java.lang.String, long, long)
*/
@Override
public String getRange(String key, long start, long end) {
return convertAndReturn(delegate.getRange(serialize(key), start, end), bytesToString);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#getSet(java.lang.String, java.lang.String)
*/
@Override
public String getSet(String key, String value) {
return convertAndReturn(delegate.getSet(serialize(key), serialize(value)), bytesToString);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#hDel(java.lang.String, java.lang.String[])
*/
@Override
public Long hDel(String key, String... fields) {
return hDel(serialize(key), serializeMulti(fields));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#hExists(java.lang.String, java.lang.String)
*/
@Override
public Boolean hExists(String key, String field) {
return hExists(serialize(key), serialize(field));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#hGet(java.lang.String, java.lang.String)
*/
@Override
public String hGet(String key, String field) {
return convertAndReturn(delegate.hGet(serialize(key), serialize(field)), bytesToString);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#hGetAll(java.lang.String)
*/
@Override
public Map hGetAll(String key) {
return convertAndReturn(delegate.hGetAll(serialize(key)), byteMapToStringMap);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#hIncrBy(java.lang.String, java.lang.String, long)
*/
@Override
public Long hIncrBy(String key, String field, long delta) {
return hIncrBy(serialize(key), serialize(field), delta);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#hIncrBy(java.lang.String, java.lang.String, double)
*/
@Override
public Double hIncrBy(String key, String field, double delta) {
return hIncrBy(serialize(key), serialize(field), delta);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#hKeys(java.lang.String)
*/
@Override
public Set hKeys(String key) {
return convertAndReturn(delegate.hKeys(serialize(key)), byteSetToStringSet);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#hLen(java.lang.String)
*/
@Override
public Long hLen(String key) {
return hLen(serialize(key));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#hMGet(java.lang.String, java.lang.String[])
*/
@Override
public List hMGet(String key, String... fields) {
return convertAndReturn(delegate.hMGet(serialize(key), serializeMulti(fields)), byteListToStringList);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#hMSet(java.lang.String, java.util.Map)
*/
@Override
public void hMSet(String key, Map hashes) {
delegate.hMSet(serialize(key), serialize(hashes));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#hSet(java.lang.String, java.lang.String, java.lang.String)
*/
@Override
public Boolean hSet(String key, String field, String value) {
return hSet(serialize(key), serialize(field), serialize(value));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#hSetNX(java.lang.String, java.lang.String, java.lang.String)
*/
@Override
public Boolean hSetNX(String key, String field, String value) {
return hSetNX(serialize(key), serialize(field), serialize(value));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#hVals(java.lang.String)
*/
@Override
public List hVals(String key) {
return convertAndReturn(delegate.hVals(serialize(key)), byteListToStringList);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#incr(java.lang.String)
*/
@Override
public Long incr(String key) {
return incr(serialize(key));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#incrBy(java.lang.String, long)
*/
@Override
public Long incrBy(String key, long value) {
return incrBy(serialize(key), value);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#incrBy(java.lang.String, double)
*/
@Override
public Double incrBy(String key, double value) {
return incrBy(serialize(key), value);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#keys(java.lang.String)
*/
@Override
public Collection keys(String pattern) {
return convertAndReturn(delegate.keys(serialize(pattern)), byteSetToStringSet);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#lIndex(java.lang.String, long)
*/
@Override
public String lIndex(String key, long index) {
return convertAndReturn(delegate.lIndex(serialize(key), index), bytesToString);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#lInsert(java.lang.String, org.springframework.data.redis.connection.RedisListCommands.Position, java.lang.String, java.lang.String)
*/
@Override
public Long lInsert(String key, Position where, String pivot, String value) {
return lInsert(serialize(key), where, serialize(pivot), serialize(value));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#lLen(java.lang.String)
*/
@Override
public Long lLen(String key) {
return lLen(serialize(key));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#lPop(java.lang.String)
*/
@Override
public String lPop(String key) {
return convertAndReturn(delegate.lPop(serialize(key)), bytesToString);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#lPush(java.lang.String, java.lang.String[])
*/
@Override
public Long lPush(String key, String... values) {
return lPush(serialize(key), serializeMulti(values));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#lPushX(java.lang.String, java.lang.String)
*/
@Override
public Long lPushX(String key, String value) {
return lPushX(serialize(key), serialize(value));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#lRange(java.lang.String, long, long)
*/
@Override
public List lRange(String key, long start, long end) {
return convertAndReturn(delegate.lRange(serialize(key), start, end), byteListToStringList);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#lRem(java.lang.String, long, java.lang.String)
*/
@Override
public Long lRem(String key, long count, String value) {
return lRem(serialize(key), count, serialize(value));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#lSet(java.lang.String, long, java.lang.String)
*/
@Override
public void lSet(String key, long index, String value) {
delegate.lSet(serialize(key), index, serialize(value));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#lTrim(java.lang.String, long, long)
*/
@Override
public void lTrim(String key, long start, long end) {
delegate.lTrim(serialize(key), start, end);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#mGet(java.lang.String[])
*/
@Override
public List mGet(String... keys) {
return convertAndReturn(delegate.mGet(serializeMulti(keys)), byteListToStringList);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#mSetNXString(java.util.Map)
*/
@Override
public Boolean mSetNXString(Map tuple) {
return mSetNX(serialize(tuple));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#mSetString(java.util.Map)
*/
@Override
public Boolean mSetString(Map tuple) {
return mSet(serialize(tuple));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#persist(java.lang.String)
*/
@Override
public Boolean persist(String key) {
return persist(serialize(key));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#move(java.lang.String, int)
*/
@Override
public Boolean move(String key, int dbIndex) {
return move(serialize(key), dbIndex);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#pSubscribe(org.springframework.data.redis.connection.MessageListener, java.lang.String[])
*/
@Override
public void pSubscribe(MessageListener listener, String... patterns) {
delegate.pSubscribe(listener, serializeMulti(patterns));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#publish(java.lang.String, java.lang.String)
*/
@Override
public Long publish(String channel, String message) {
return publish(serialize(channel), serialize(message));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#rename(java.lang.String, java.lang.String)
*/
@Override
public void rename(String oldName, String newName) {
delegate.rename(serialize(oldName), serialize(newName));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#renameNX(java.lang.String, java.lang.String)
*/
@Override
public Boolean renameNX(String oldName, String newName) {
return renameNX(serialize(oldName), serialize(newName));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#rPop(java.lang.String)
*/
@Override
public String rPop(String key) {
return convertAndReturn(delegate.rPop(serialize(key)), bytesToString);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#rPopLPush(java.lang.String, java.lang.String)
*/
@Override
public String rPopLPush(String srcKey, String dstKey) {
return convertAndReturn(delegate.rPopLPush(serialize(srcKey), serialize(dstKey)), bytesToString);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#rPush(java.lang.String, java.lang.String[])
*/
@Override
public Long rPush(String key, String... values) {
return rPush(serialize(key), serializeMulti(values));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#rPushX(java.lang.String, java.lang.String)
*/
@Override
public Long rPushX(String key, String value) {
return rPushX(serialize(key), serialize(value));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#sAdd(java.lang.String, java.lang.String[])
*/
@Override
public Long sAdd(String key, String... values) {
return sAdd(serialize(key), serializeMulti(values));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#sCard(java.lang.String)
*/
@Override
public Long sCard(String key) {
return sCard(serialize(key));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#sDiff(java.lang.String[])
*/
@Override
public Set sDiff(String... keys) {
return convertAndReturn(delegate.sDiff(serializeMulti(keys)), byteSetToStringSet);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#sDiffStore(java.lang.String, java.lang.String[])
*/
@Override
public Long sDiffStore(String destKey, String... keys) {
return sDiffStore(serialize(destKey), serializeMulti(keys));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#set(java.lang.String, java.lang.String)
*/
@Override
public Boolean set(String key, String value) {
return set(serialize(key), serialize(value));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#set(java.lang.String, java.lang.String, org.springframework.data.redis.core.types.Expiration, org.springframework.data.redis.connection.RedisStringCommands.SetOptions)
*/
@Override
public Boolean set(String key, String value, Expiration expiration, SetOption option) {
return set(serialize(key), serialize(value), expiration, option);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#setBit(java.lang.String, long, boolean)
*/
@Override
public Boolean setBit(String key, long offset, boolean value) {
return setBit(serialize(key), offset, value);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#setEx(java.lang.String, long, java.lang.String)
*/
@Override
public Boolean setEx(String key, long seconds, String value) {
return setEx(serialize(key), seconds, serialize(value));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#pSetEx(java.lang.String, long, java.lang.String)
*/
@Override
public Boolean pSetEx(String key, long seconds, String value) {
return pSetEx(serialize(key), seconds, serialize(value));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#setNX(java.lang.String, java.lang.String)
*/
@Override
public Boolean setNX(String key, String value) {
return setNX(serialize(key), serialize(value));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#setRange(java.lang.String, java.lang.String, long)
*/
@Override
public void setRange(String key, String value, long start) {
delegate.setRange(serialize(key), serialize(value), start);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#sInter(java.lang.String[])
*/
@Override
public Set sInter(String... keys) {
return convertAndReturn(delegate.sInter(serializeMulti(keys)), byteSetToStringSet);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#sInterStore(java.lang.String, java.lang.String[])
*/
@Override
public Long sInterStore(String destKey, String... keys) {
return sInterStore(serialize(destKey), serializeMulti(keys));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#sIsMember(java.lang.String, java.lang.String)
*/
@Override
public Boolean sIsMember(String key, String value) {
return sIsMember(serialize(key), serialize(value));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#sMembers(java.lang.String)
*/
@Override
public Set sMembers(String key) {
return convertAndReturn(delegate.sMembers(serialize(key)), byteSetToStringSet);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#sMove(java.lang.String, java.lang.String, java.lang.String)
*/
@Override
public Boolean sMove(String srcKey, String destKey, String value) {
return sMove(serialize(srcKey), serialize(destKey), serialize(value));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#sort(java.lang.String, org.springframework.data.redis.connection.SortParameters, java.lang.String)
*/
@Override
public Long sort(String key, SortParameters params, String storeKey) {
return sort(serialize(key), params, serialize(storeKey));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#sort(java.lang.String, org.springframework.data.redis.connection.SortParameters)
*/
@Override
public List sort(String key, SortParameters params) {
return convertAndReturn(delegate.sort(serialize(key), params), byteListToStringList);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#encoding(java.lang.String)
*/
@Override
public ValueEncoding encodingOf(String key) {
return encodingOf(serialize(key));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#idletime(java.lang.String)
*/
@Override
public Duration idletime(String key) {
return idletime(serialize(key));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#refcount(java.lang.String)
*/
@Override
public Long refcount(String key) {
return refcount(serialize(key));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#sPop(java.lang.String)
*/
@Override
public String sPop(String key) {
return convertAndReturn(delegate.sPop(serialize(key)), bytesToString);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#sPop(java.lang.String, long)
*/
@Override
public List sPop(String key, long count) {
return convertAndReturn(delegate.sPop(serialize(key), count), byteListToStringList);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#sRandMember(java.lang.String)
*/
@Override
public String sRandMember(String key) {
return convertAndReturn(delegate.sRandMember(serialize(key)), bytesToString);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#sRandMember(java.lang.String, long)
*/
@Override
public List sRandMember(String key, long count) {
return convertAndReturn(delegate.sRandMember(serialize(key), count), byteListToStringList);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#sRem(java.lang.String, java.lang.String[])
*/
@Override
public Long sRem(String key, String... values) {
return sRem(serialize(key), serializeMulti(values));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#strLen(java.lang.String)
*/
@Override
public Long strLen(String key) {
return strLen(serialize(key));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#bitCount(java.lang.String)
*/
@Override
public Long bitCount(String key) {
return bitCount(serialize(key));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#bitCount(java.lang.String, long, long)
*/
@Override
public Long bitCount(String key, long start, long end) {
return bitCount(serialize(key), start, end);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#bitOp(org.springframework.data.redis.connection.RedisStringCommands.BitOperation, java.lang.String, java.lang.String[])
*/
@Override
public Long bitOp(BitOperation op, String destination, String... keys) {
return bitOp(op, serialize(destination), serializeMulti(keys));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#bitPos(java.lang.String, boolean, org.springframework.data.domain.Range)
*/
@Nullable
@Override
public Long bitPos(String key, boolean bit, org.springframework.data.domain.Range range) {
return bitPos(serialize(key), bit, range);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#subscribe(org.springframework.data.redis.connection.MessageListener, java.lang.String[])
*/
@Override
public void subscribe(MessageListener listener, String... channels) {
delegate.subscribe(listener, serializeMulti(channels));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#sUnion(java.lang.String[])
*/
@Override
public Set sUnion(String... keys) {
return convertAndReturn(delegate.sUnion(serializeMulti(keys)), byteSetToStringSet);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#sUnionStore(java.lang.String, java.lang.String[])
*/
@Override
public Long sUnionStore(String destKey, String... keys) {
return sUnionStore(serialize(destKey), serializeMulti(keys));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#ttl(java.lang.String)
*/
@Override
public Long ttl(String key) {
return ttl(serialize(key));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#ttl(java.lang.String, java.util.concurrent.TimeUnit)
*/
@Override
public Long ttl(String key, TimeUnit timeUnit) {
return ttl(serialize(key), timeUnit);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#type(java.lang.String)
*/
@Override
public DataType type(String key) {
return type(serialize(key));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#touch(java.lang.String[])
*/
@Nullable
@Override
public Long touch(String... keys) {
return touch(serializeMulti(keys));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zAdd(java.lang.String, double, java.lang.String)
*/
@Override
public Boolean zAdd(String key, double score, String value) {
return zAdd(serialize(key), score, serialize(value));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zAdd(java.lang.String, java.util.Set)
*/
@Override
public Long zAdd(String key, Set tuples) {
return zAdd(serialize(key), stringTupleToTuple.convert(tuples));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zCard(java.lang.String)
*/
@Override
public Long zCard(String key) {
return zCard(serialize(key));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zCount(java.lang.String, double, double)
*/
@Override
public Long zCount(String key, double min, double max) {
return zCount(serialize(key), min, max);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zIncrBy(java.lang.String, double, java.lang.String)
*/
@Override
public Double zIncrBy(String key, double increment, String value) {
return zIncrBy(serialize(key), increment, serialize(value));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zInterStore(java.lang.String, org.springframework.data.redis.connection.RedisZSetCommands.Aggregate, int[], java.lang.String[])
*/
@Override
public Long zInterStore(String destKey, Aggregate aggregate, int[] weights, String... sets) {
return zInterStore(serialize(destKey), aggregate, weights, serializeMulti(sets));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zInterStore(java.lang.String, java.lang.String[])
*/
@Override
public Long zInterStore(String destKey, String... sets) {
return zInterStore(serialize(destKey), serializeMulti(sets));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zRange(java.lang.String, long, long)
*/
@Override
public Set zRange(String key, long start, long end) {
return convertAndReturn(delegate.zRange(serialize(key), start, end), byteSetToStringSet);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zRangeByScore(java.lang.String, double, double, long, long)
*/
@Override
public Set zRangeByScore(String key, double min, double max, long offset, long count) {
return convertAndReturn(delegate.zRangeByScore(serialize(key), min, max, offset, count), byteSetToStringSet);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zRangeByScore(java.lang.String, double, double)
*/
@Override
public Set zRangeByScore(String key, double min, double max) {
return convertAndReturn(delegate.zRangeByScore(serialize(key), min, max), byteSetToStringSet);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zRangeByScoreWithScores(java.lang.String, double, double, long, long)
*/
@Override
public Set zRangeByScoreWithScores(String key, double min, double max, long offset, long count) {
return convertAndReturn(delegate.zRangeByScoreWithScores(serialize(key), min, max, offset, count),
tupleToStringTuple);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zRangeByScoreWithScores(java.lang.String, double, double)
*/
@Override
public Set zRangeByScoreWithScores(String key, double min, double max) {
return convertAndReturn(delegate.zRangeByScoreWithScores(serialize(key), min, max), tupleToStringTuple);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zRangeWithScores(java.lang.String, long, long)
*/
@Override
public Set zRangeWithScores(String key, long start, long end) {
return convertAndReturn(delegate.zRangeWithScores(serialize(key), start, end), tupleToStringTuple);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zRank(java.lang.String, java.lang.String)
*/
@Override
public Long zRank(String key, String value) {
return zRank(serialize(key), serialize(value));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zRem(java.lang.String, java.lang.String[])
*/
@Override
public Long zRem(String key, String... values) {
return zRem(serialize(key), serializeMulti(values));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zRemRange(java.lang.String, long, long)
*/
@Override
public Long zRemRange(String key, long start, long end) {
return zRemRange(serialize(key), start, end);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zRemRangeByScore(java.lang.String, double, double)
*/
@Override
public Long zRemRangeByScore(String key, double min, double max) {
return zRemRangeByScore(serialize(key), min, max);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zRevRange(java.lang.String, long, long)
*/
@Override
public Set zRevRange(String key, long start, long end) {
return convertAndReturn(delegate.zRevRange(serialize(key), start, end), byteSetToStringSet);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zRevRangeWithScores(java.lang.String, long, long)
*/
@Override
public Set zRevRangeWithScores(String key, long start, long end) {
return convertAndReturn(delegate.zRevRangeWithScores(serialize(key), start, end), tupleToStringTuple);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zRevRangeByScore(java.lang.String, double, double)
*/
@Override
public Set zRevRangeByScore(String key, double min, double max) {
return convertAndReturn(delegate.zRevRangeByScore(serialize(key), min, max), byteSetToStringSet);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zRevRangeByScoreWithScores(java.lang.String, double, double)
*/
@Override
public Set zRevRangeByScoreWithScores(String key, double min, double max) {
return convertAndReturn(delegate.zRevRangeByScoreWithScores(serialize(key), min, max), tupleToStringTuple);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zRevRangeByScore(java.lang.String, double, double, long, long)
*/
@Override
public Set zRevRangeByScore(String key, double min, double max, long offset, long count) {
return convertAndReturn(delegate.zRevRangeByScore(serialize(key), min, max, offset, count), byteSetToStringSet);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zRevRangeByScoreWithScores(java.lang.String, double, double, long, long)
*/
@Override
public Set zRevRangeByScoreWithScores(String key, double min, double max, long offset, long count) {
return convertAndReturn(delegate.zRevRangeByScoreWithScores(serialize(key), min, max, offset, count),
tupleToStringTuple);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zRevRank(java.lang.String, java.lang.String)
*/
@Override
public Long zRevRank(String key, String value) {
return zRevRank(serialize(key), serialize(value));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zScore(java.lang.String, java.lang.String)
*/
@Override
public Double zScore(String key, String value) {
return zScore(serialize(key), serialize(value));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zUnionStore(java.lang.String, org.springframework.data.redis.connection.RedisZSetCommands.Aggregate, int[], java.lang.String[])
*/
@Override
public Long zUnionStore(String destKey, Aggregate aggregate, int[] weights, String... sets) {
return zUnionStore(serialize(destKey), aggregate, weights, serializeMulti(sets));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zUnionStore(java.lang.String, java.lang.String[])
*/
@Override
public Long zUnionStore(String destKey, String... sets) {
return zUnionStore(serialize(destKey), serializeMulti(sets));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisGeoCommands#geoAdd(byte[], org.springframework.data.geo.Point, byte[])
*/
@Override
public Long geoAdd(byte[] key, Point point, byte[] member) {
return convertAndReturn(delegate.geoAdd(key, point, member), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisGeoCommands#geoAdd(byte[], org.springframework.data.redis.connection.RedisGeoCommands.GeoLocation)
*/
public Long geoAdd(byte[] key, GeoLocation location) {
return convertAndReturn(delegate.geoAdd(key, location), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#geoAdd(java.lang.String, org.springframework.data.geo.Point, java.lang.String)
*/
@Override
public Long geoAdd(String key, Point point, String member) {
return geoAdd(serialize(key), point, serialize(member));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#geoAdd(java.lang.String, org.springframework.data.redis.connection.RedisGeoCommands.GeoLocation)
*/
@Override
public Long geoAdd(String key, GeoLocation location) {
Assert.notNull(location, "Location must not be null!");
return geoAdd(key, location.getPoint(), location.getName());
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisGeoCommands#geoAdd(byte[], java.util.Map)
*/
@Override
public Long geoAdd(byte[] key, Map memberCoordinateMap) {
return convertAndReturn(delegate.geoAdd(key, memberCoordinateMap), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisGeoCommands#geoAdd(byte[], java.lang.Iterable)
*/
@Override
public Long geoAdd(byte[] key, Iterable> locations) {
return convertAndReturn(delegate.geoAdd(key, locations), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#geoAdd(java.lang.String, java.util.Map)
*/
@Override
public Long geoAdd(String key, Map memberCoordinateMap) {
Assert.notNull(memberCoordinateMap, "MemberCoordinateMap must not be null!");
Map byteMap = new HashMap<>();
for (Entry entry : memberCoordinateMap.entrySet()) {
byteMap.put(serialize(entry.getKey()), entry.getValue());
}
return geoAdd(serialize(key), byteMap);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#geoAdd(java.lang.String, java.lang.Iterable)
*/
@Override
public Long geoAdd(String key, Iterable> locations) {
Assert.notNull(locations, "Locations must not be null!");
Map byteMap = new HashMap<>();
for (GeoLocation location : locations) {
byteMap.put(serialize(location.getName()), location.getPoint());
}
return geoAdd(serialize(key), byteMap);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisGeoCommands#geoDist(byte[], byte[], byte[])
*/
@Override
public Distance geoDist(byte[] key, byte[] member1, byte[] member2) {
return convertAndReturn(delegate.geoDist(key, member1, member2), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#geoDist(java.lang.String, java.lang.String, java.lang.String)
*/
@Override
public Distance geoDist(String key, String member1, String member2) {
return geoDist(serialize(key), serialize(member1), serialize(member2));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisGeoCommands#geoDist(byte[], byte[], byte[], org.springframework.data.geo.Metric)
*/
@Override
public Distance geoDist(byte[] key, byte[] member1, byte[] member2, Metric metric) {
return convertAndReturn(delegate.geoDist(key, member1, member2, metric), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#geoDist(java.lang.String, java.lang.String, java.lang.String, org.springframework.data.redis.connection.RedisGeoCommands.DistanceUnit)
*/
@Override
public Distance geoDist(String key, String member1, String member2, Metric metric) {
return geoDist(serialize(key), serialize(member1), serialize(member2), metric);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisGeoCommands#geoHash(byte[], byte[][])
*/
@Override
public List geoHash(byte[] key, byte[]... members) {
return convertAndReturn(delegate.geoHash(key, members), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#geoHash(java.lang.String, java.lang.String[])
*/
@Override
public List geoHash(String key, String... members) {
return convertAndReturn(delegate.geoHash(serialize(key), serializeMulti(members)), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisGeoCommands#geoPos(byte[], byte[][])
*/
@Override
public List geoPos(byte[] key, byte[]... members) {
return convertAndReturn(delegate.geoPos(key, members), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#geoPos(java.lang.String, java.lang.String[])
*/
@Override
public List geoPos(String key, String... members) {
return geoPos(serialize(key), serializeMulti(members));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#geoRadius(java.lang.String, org.springframework.data.geo.Circle)
*/
@Override
public GeoResults> geoRadius(String key, Circle within) {
return convertAndReturn(delegate.geoRadius(serialize(key), within), byteGeoResultsToStringGeoResults);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#geoRadius(java.lang.String, org.springframework.data.geo.Circle, org.springframework.data.redis.core.GeoRadiusCommandArgs)
*/
@Override
public GeoResults> geoRadius(String key, Circle within, GeoRadiusCommandArgs args) {
return convertAndReturn(delegate.geoRadius(serialize(key), within, args), byteGeoResultsToStringGeoResults);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#geoRadiusByMember(java.lang.String, java.lang.String, double)
*/
@Override
public GeoResults> geoRadiusByMember(String key, String member, double radius) {
return geoRadiusByMember(key, member, new Distance(radius, DistanceUnit.METERS));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#geoRadiusByMember(java.lang.String, java.lang.String, org.springframework.data.geo.Distance)
*/
@Override
public GeoResults> geoRadiusByMember(String key, String member, Distance radius) {
return convertAndReturn(delegate.geoRadiusByMember(serialize(key), serialize(member), radius),
byteGeoResultsToStringGeoResults);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#geoRadiusByMember(java.lang.String, java.lang.String, org.springframework.data.geo.Distance, org.springframework.data.redis.core.GeoRadiusCommandArgs)
*/
@Override
public GeoResults> geoRadiusByMember(String key, String member, Distance radius,
GeoRadiusCommandArgs args) {
return convertAndReturn(delegate.geoRadiusByMember(serialize(key), serialize(member), radius, args),
byteGeoResultsToStringGeoResults);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisGeoCommands#geoRadius(byte[], org.springframework.data.geo.Circle)
*/
@Override
public GeoResults> geoRadius(byte[] key, Circle within) {
return convertAndReturn(delegate.geoRadius(key, within), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisGeoCommands#geoRadius(byte[], org.springframework.data.geo.Circle, org.springframework.data.redis.core.GeoRadiusCommandArgs)
*/
@Override
public GeoResults> geoRadius(byte[] key, Circle within, GeoRadiusCommandArgs args) {
return convertAndReturn(delegate.geoRadius(key, within, args), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisGeoCommands#geoRadiusByMember(byte[], byte[], double)
*/
@Override
public GeoResults> geoRadiusByMember(byte[] key, byte[] member, double radius) {
return geoRadiusByMember(key, member, new Distance(radius, DistanceUnit.METERS));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisGeoCommands#geoRadiusByMember(byte[], byte[], org.springframework.data.geo.Distance)
*/
@Override
public GeoResults> geoRadiusByMember(byte[] key, byte[] member, Distance radius) {
return convertAndReturn(delegate.geoRadiusByMember(key, member, radius), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisGeoCommands#geoRadiusByMember(byte[], byte[], org.springframework.data.geo.Distance, org.springframework.data.redis.core.GeoRadiusCommandArgs)
*/
@Override
public GeoResults> geoRadiusByMember(byte[] key, byte[] member, Distance radius,
GeoRadiusCommandArgs args) {
return convertAndReturn(delegate.geoRadiusByMember(key, member, radius, args), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisGeoCommands#geoRemove(byte[], byte[][])
*/
@Override
public Long geoRemove(byte[] key, byte[]... members) {
return zRem(key, members);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#geoRemove(java.lang.String, java.lang.String[])
*/
@Override
public Long geoRemove(String key, String... members) {
return geoRemove(serialize(key), serializeMulti(members));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisConnection#closePipeline()
*/
@Override
public List closePipeline() {
try {
return convertResults(delegate.closePipeline(), pipelineConverters);
} finally {
pipelineConverters.clear();
}
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisConnection#isPipelined()
*/
@Override
public boolean isPipelined() {
return delegate.isPipelined();
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisConnection#openPipeline()
*/
@Override
public void openPipeline() {
delegate.openPipeline();
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#execute(java.lang.String)
*/
@Override
public Object execute(String command) {
return execute(command, EMPTY_2D_BYTE_ARRAY);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisCommands#execute(java.lang.String, byte[][])
*/
@Override
public Object execute(String command, byte[]... args) {
return convertAndReturn(delegate.execute(command, args), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#execute(java.lang.String, java.lang.String[])
*/
@Override
public Object execute(String command, String... args) {
return execute(command, serializeMulti(args));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#pExpire(java.lang.String, long)
*/
@Override
public Boolean pExpire(String key, long millis) {
return pExpire(serialize(key), millis);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#pExpireAt(java.lang.String, long)
*/
@Override
public Boolean pExpireAt(String key, long unixTimeInMillis) {
return pExpireAt(serialize(key), unixTimeInMillis);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#pTtl(java.lang.String)
*/
@Override
public Long pTtl(String key) {
return pTtl(serialize(key));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#pTtl(java.lang.String, java.util.concurrent.TimeUnit)
*/
@Override
public Long pTtl(String key, TimeUnit timeUnit) {
return pTtl(serialize(key), timeUnit);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#scriptLoad(java.lang.String)
*/
@Override
public String scriptLoad(String script) {
return scriptLoad(serialize(script));
}
/**
* NOTE: This method will not deserialize Strings returned by Lua scripts, as they may not be encoded with the same
* serializer used here. They will be returned as byte[]s
*/
public T eval(String script, ReturnType returnType, int numKeys, String... keysAndArgs) {
return eval(serialize(script), returnType, numKeys, serializeMulti(keysAndArgs));
}
/**
* NOTE: This method will not deserialize Strings returned by Lua scripts, as they may not be encoded with the same
* serializer used here. They will be returned as byte[]s
*/
public T evalSha(String scriptSha1, ReturnType returnType, int numKeys, String... keysAndArgs) {
return evalSha(scriptSha1, returnType, numKeys, serializeMulti(keysAndArgs));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisServerCommands#time()
*/
@Override
public Long time() {
return convertAndReturn(this.delegate.time(), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#getClientList()
*/
@Override
public List getClientList() {
return convertAndReturn(this.delegate.getClientList(), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisServerCommands#slaveOf(java.lang.String, int)
*/
@Override
public void slaveOf(String host, int port) {
this.delegate.slaveOf(host, port);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisServerCommands#slaveOfNoOne()
*/
@Override
public void slaveOfNoOne() {
this.delegate.slaveOfNoOne();
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisKeyCommands#scan(org.springframework.data.redis.core.ScanOptions)
*/
@Override
public Cursor scan(ScanOptions options) {
return this.delegate.scan(options);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zScan(byte[], org.springframework.data.redis.core.ScanOptions)
*/
@Override
public Cursor zScan(byte[] key, ScanOptions options) {
return this.delegate.zScan(key, options);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisSetCommands#scan(byte[], org.springframework.data.redis.core.ScanOptions)
*/
@Override
public Cursor sScan(byte[] key, ScanOptions options) {
return this.delegate.sScan(key, options);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisHashCommands#hscan(byte[], org.springframework.data.redis.core.ScanOptions)
*/
@Override
public Cursor> hScan(byte[] key, ScanOptions options) {
return this.delegate.hScan(key, options);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisSetCommands#hStrLen(byte[], byte[])
*/
@Nullable
@Override
public Long hStrLen(byte[] key, byte[] field) {
return convertAndReturn(delegate.hStrLen(key, field), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisServerCommands#setClientName(java.lang.String)
*/
@Override
public void setClientName(byte[] name) {
this.delegate.setClientName(name);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#setClientName(java.lang.String)
*/
@Override
public void setClientName(String name) {
setClientName(this.serializer.serialize(name));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisServerCommands#killClient(byte[])
*/
@Override
public void killClient(String host, int port) {
this.delegate.killClient(host, port);
}
/*
* @see org.springframework.data.redis.connection.RedisServerCommands#getClientName()
*/
@Override
public String getClientName() {
return convertAndReturn(this.delegate.getClientName(), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#hScan(java.lang.String, org.springframework.data.redis.core.ScanOptions)
*/
@Override
public Cursor> hScan(String key, ScanOptions options) {
return new ConvertingCursor<>(this.delegate.hScan(this.serialize(key), options),
source -> new Entry() {
@Override
public String getKey() {
return bytesToString.convert(source.getKey());
}
@Override
public String getValue() {
return bytesToString.convert(source.getValue());
}
@Override
public String setValue(String value) {
throw new UnsupportedOperationException("Cannot set value for entry in cursor");
}
});
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#hStrLen(java.lang.String, java.lang.String)
*/
@Override
public Long hStrLen(String key, String field) {
return hStrLen(serialize(key), serialize(field));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#sScan(java.lang.String, org.springframework.data.redis.core.ScanOptions)
*/
@Override
public Cursor sScan(String key, ScanOptions options) {
return new ConvertingCursor<>(this.delegate.sScan(this.serialize(key), options), bytesToString);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zScan(java.lang.String, org.springframework.data.redis.core.ScanOptions)
*/
@Override
public Cursor zScan(String key, ScanOptions options) {
return new ConvertingCursor<>(delegate.zScan(this.serialize(key), options), new TupleConverter());
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisConnection#getSentinelConnection()
*/
@Override
public RedisSentinelConnection getSentinelConnection() {
return delegate.getSentinelConnection();
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zRangeByScore(java.lang.String, java.lang.String, java.lang.String)
*/
@Override
public Set zRangeByScore(String key, String min, String max) {
return convertAndReturn(delegate.zRangeByScore(serialize(key), min, max), byteSetToStringSet);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zRangeByScore(java.lang.String, java.lang.String, java.lang.String, long, long)
*/
@Override
public Set zRangeByScore(String key, String min, String max, long offset, long count) {
return convertAndReturn(delegate.zRangeByScore(serialize(key), min, max, offset, count), byteSetToStringSet);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRangeByScore(byte[], java.lang.String, java.lang.String)
*/
@Override
public Set zRangeByScore(byte[] key, String min, String max) {
return convertAndReturn(delegate.zRangeByScore(key, min, max), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRangeByScore(byte[], java.lang.String, java.lang.String, long, long)
*/
@Override
public Set zRangeByScore(byte[] key, String min, String max, long offset, long count) {
return convertAndReturn(delegate.zRangeByScore(key, min, max, offset, count), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisHyperLogLogCommands#pfAdd(byte[], byte[][])
*/
@Override
public Long pfAdd(byte[] key, byte[]... values) {
return convertAndReturn(delegate.pfAdd(key, values), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#pfAdd(java.lang.String, java.lang.String[])
*/
@Override
public Long pfAdd(String key, String... values) {
return pfAdd(serialize(key), serializeMulti(values));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisHyperLogLogCommands#pfCount(byte[][])
*/
@Override
public Long pfCount(byte[]... keys) {
return convertAndReturn(delegate.pfCount(keys), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#pfCount(java.lang.String[])
*/
@Override
public Long pfCount(String... keys) {
return pfCount(serializeMulti(keys));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisHyperLogLogCommands#pfMerge(byte[], byte[][])
*/
@Override
public void pfMerge(byte[] destinationKey, byte[]... sourceKeys) {
delegate.pfMerge(destinationKey, sourceKeys);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#pfMerge(java.lang.String, java.lang.String[][])
*/
@Override
public void pfMerge(String destinationKey, String... sourceKeys) {
this.pfMerge(serialize(destinationKey), serializeMulti(sourceKeys));
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRangeByLex(byte[])
*/
@Override
public Set zRangeByLex(byte[] key) {
return convertAndReturn(delegate.zRangeByLex(key), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRangeByLex(byte[], org.springframework.data.redis.connection.RedisZSetCommands.Range)
*/
@Override
public Set zRangeByLex(byte[] key, Range range) {
return convertAndReturn(delegate.zRangeByLex(key, range), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisZSetCommands#zRangeByLex(byte[], org.springframework.data.redis.connection.RedisZSetCommands.Range, org.springframework.data.redis.connection.RedisZSetCommands.Limit)
*/
@Override
public Set zRangeByLex(byte[] key, Range range, Limit limit) {
return convertAndReturn(delegate.zRangeByLex(key, range, limit), identityConverter);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zRangeByLex(java.lang.String)
*/
@Override
public Set zRangeByLex(String key) {
return zRangeByLex(key, Range.unbounded());
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zRangeByLex(java.lang.String, org.springframework.data.redis.connection.RedisZSetCommands.Range)
*/
@Override
public Set zRangeByLex(String key, Range range) {
return zRangeByLex(key, range, null);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#zRangeByLex(java.lang.String, org.springframework.data.redis.connection.RedisZSetCommands.Range, org.springframework.data.redis.connection.RedisZSetCommands.Limit)
*/
@Override
public Set zRangeByLex(String key, Range range, Limit limit) {
return convertAndReturn(delegate.zRangeByLex(serialize(key), range), byteSetToStringSet);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisServerCommands#migrate(byte[], org.springframework.data.redis.connection.RedisNode, int, org.springframework.data.redis.connection.RedisServerCommands.MigrateOption)
*/
@Override
public void migrate(byte[] key, RedisNode target, int dbIndex, @Nullable MigrateOption option) {
delegate.migrate(key, target, dbIndex, option);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisServerCommands#migrate(byte[], org.springframework.data.redis.connection.RedisNode, int, org.springframework.data.redis.connection.RedisServerCommands.MigrateOption, long)
*/
@Override
public void migrate(byte[] key, RedisNode target, int dbIndex, @Nullable MigrateOption option, long timeout) {
delegate.migrate(key, target, dbIndex, option, timeout);
}
/**
* Specifies if pipelined and tx results should be deserialized to Strings. If false, results of
* {@link #closePipeline()} and {@link #exec()} will be of the type returned by the underlying connection
*
* @param deserializePipelineAndTxResults Whether or not to deserialize pipeline and tx results
*/
public void setDeserializePipelineAndTxResults(boolean deserializePipelineAndTxResults) {
this.deserializePipelineAndTxResults = deserializePipelineAndTxResults;
}
@SuppressWarnings("unchecked")
@Nullable
private T convertAndReturn(@Nullable Object value, Converter converter) {
if (isFutureConversion()) {
addResultConverter(converter);
return null;
}
return value == null ? null
: ObjectUtils.nullSafeEquals(converter, identityConverter) ? (T) value : (T) converter.convert(value);
}
private void addResultConverter(Converter converter) {
if (isQueueing()) {
txConverters.add(converter);
} else {
pipelineConverters.add(converter);
}
}
private boolean isFutureConversion() {
return isPipelined() || isQueueing();
}
@SuppressWarnings({ "unchecked", "rawtypes" })
private List convertResults(@Nullable List results, Queue converters) {
if (!deserializePipelineAndTxResults || results == null) {
return results;
}
if (results.size() != converters.size()) {
// Some of the commands were done directly on the delegate, don't attempt to convert
log.warn("Delegate returned an unexpected number of results. Abandoning type conversion.");
return results;
}
List convertedResults = new ArrayList<>(results.size());
for (Object result : results) {
Converter converter = converters.remove();
convertedResults.add(result == null ? null : converter.convert(result));
}
return convertedResults;
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.RedisStringCommands#bitfield(byte[], BitfieldCommand)
*/
@Override
public List bitField(byte[] key, BitFieldSubCommands subCommands) {
return delegate.bitField(key, subCommands);
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.StringRedisConnection#bitfield(byte[], BitfieldCommand)
*/
@Override
public List bitfield(String key, BitFieldSubCommands operation) {
List results = delegate.bitField(serialize(key), operation);
if (isFutureConversion()) {
addResultConverter(identityConverter);
}
return results;
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.DecoratedRedisConnection#getDelegate()
*/
@Override
public RedisConnection getDelegate() {
return delegate;
}
}