diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/RedisTemplate.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/RedisTemplate.java index e1150bcf0..cbe4ed605 100644 --- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/RedisTemplate.java +++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/RedisTemplate.java @@ -434,7 +434,7 @@ public class RedisTemplate extends RedisAccessor implements RedisOperation return connection.keys(rawKey); } }, true); - + return (Set) deserializeKeys(rawKeys, Set.class); } @@ -1100,7 +1100,8 @@ public class RedisTemplate extends RedisAccessor implements RedisOperation return execute(new RedisCallback() { @Override public Long doInRedis(RedisConnection connection) { - return connection.zRank(rawKey, rawValue); + Long zRank = connection.zRank(rawKey, rawValue); + return (zRank != null && zRank.longValue() >= 0 ? zRank : null); } }, true); } @@ -1113,7 +1114,8 @@ public class RedisTemplate extends RedisAccessor implements RedisOperation return execute(new RedisCallback() { @Override public Long doInRedis(RedisConnection connection) { - return connection.zRevRank(rawKey, rawValue); + Long zRank = connection.zRevRank(rawKey, rawValue); + return (zRank != null && zRank.longValue() >= 0 ? zRank : null); } }, true); }