diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/serializer/RedisSerializer.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/serializer/RedisSerializer.java index d8c93a39c..89ddd5e31 100644 --- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/serializer/RedisSerializer.java +++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/serializer/RedisSerializer.java @@ -18,6 +18,8 @@ package org.springframework.data.keyvalue.redis.serializer; /** * Basic interface serialization and deserialization of Objects to byte arrays (binary data). * + * It is recommended that implementations are designed to handle null objects/empty arrays on serialization and deserialization side. + * * @author Mark Pollack * @author Costin Leau */ diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/serializer/StringRedisSerializer.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/serializer/StringRedisSerializer.java index d51df0b07..f78a28648 100644 --- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/serializer/StringRedisSerializer.java +++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/serializer/StringRedisSerializer.java @@ -43,7 +43,7 @@ public class StringRedisSerializer implements RedisSerializer { @Override public String deserialize(byte[] bytes) { - return new String(bytes, charset); + return (SerializerUtils.isEmpty(bytes) ? null : new String(bytes, charset)); } @Override