From cf2cce8fbf37d8766cbd3663f8456523e86f933e Mon Sep 17 00:00:00 2001 From: dengliming Date: Sat, 27 Feb 2021 19:16:02 +0800 Subject: [PATCH] Use Jedis SetParams.KEEPTTL instead of injecting byte[] args. Closes #1986. --- .../connection/jedis/JedisConverters.java | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisConverters.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisConverters.java index 3d99d0bd6..18e7f2662 100644 --- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisConverters.java +++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisConverters.java @@ -90,6 +90,7 @@ import org.springframework.util.StringUtils; * @author Mark Paluch * @author Ninad Divadkar * @author Guy Korland + * @author dengliming */ public abstract class JedisConverters extends Converters { @@ -426,21 +427,7 @@ public abstract class JedisConverters extends Converters { SetParams paramsToUse = params == null ? SetParams.setParams() : params; if (expiration.isKeepTtl()) { - - // TODO: remove once jedis supports KEEPTTL (https://github.com/xetorthio/jedis/issues/2248) - return new SetParams() { - - @Override - public byte[][] getByteParams(byte[]... args) { - - ArrayList byteParams = new ArrayList<>(); - for (byte[] arg : paramsToUse.getByteParams(args)) { - byteParams.add(arg); - } - byteParams.add(SafeEncoder.encode("keepttl")); - return byteParams.toArray(new byte[byteParams.size()][]); - } - }; + return paramsToUse.keepttl(); } if (!expiration.isPersistent()) { @@ -739,7 +726,7 @@ public abstract class JedisConverters extends Converters { /** * Convert given {@link BitFieldSubCommands} into argument array. * - * @param bitfieldOperation + * @param source * @return never {@literal null}. * @since 1.8 */