diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnection.java b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnection.java index 1c59b53cc..5cfb980d0 100644 --- a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnection.java +++ b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnection.java @@ -57,7 +57,6 @@ import java.util.function.Supplier; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; - import org.springframework.beans.BeanUtils; import org.springframework.core.convert.converter.Converter; import org.springframework.dao.DataAccessException; @@ -1088,6 +1087,7 @@ public class LettuceConnection extends AbstractRedisConnection { COMMAND_OUTPUT_TYPE_MAPPING.put(STRLEN, IntegerOutput.class); COMMAND_OUTPUT_TYPE_MAPPING.put(TTL, IntegerOutput.class); COMMAND_OUTPUT_TYPE_MAPPING.put(ZADD, IntegerOutput.class); + COMMAND_OUTPUT_TYPE_MAPPING.put(ZCARD, IntegerOutput.class); COMMAND_OUTPUT_TYPE_MAPPING.put(ZCOUNT, IntegerOutput.class); COMMAND_OUTPUT_TYPE_MAPPING.put(ZINTERSTORE, IntegerOutput.class); COMMAND_OUTPUT_TYPE_MAPPING.put(ZRANK, IntegerOutput.class); diff --git a/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionIntegrationTests.java b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionIntegrationTests.java index 56a1ba9e2..b18e5283e 100644 --- a/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionIntegrationTests.java +++ b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionIntegrationTests.java @@ -23,7 +23,6 @@ import java.util.Set; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; - import org.springframework.dao.InvalidDataAccessApiUsageException; import org.springframework.data.redis.RedisSystemException; import org.springframework.data.redis.SettingsUtils; @@ -180,6 +179,16 @@ public class LettuceConnectionIntegrationTests extends AbstractConnectionIntegra .contains("awesome".getBytes(), "cool".getBytes(), "supercalifragilisticexpialidocious".getBytes()); } + @Test // GH-2473 + void testExecuteZcardShouldReturnNumericValue() { + + connection.zAdd("spring", 1, "awesome"); + connection.zAdd("spring", 1, "cool"); + connection.zAdd("spring", 1, "supercalifragilisticexpialidocious"); + + assertThat(connection.execute("ZCARD", "spring")).isInstanceOf(Long.class).isEqualTo(3L); + } + @SuppressWarnings("unchecked") @Test public void testEvalShaArrayBytes() {