在RedisTemplate中指定使用十进制的解析器可以通过设置ValueSerializer和ValueDeserializer来实现。
- 首先,需要创建一个自定义的十进制解析器DecimalSerializer,继承自JdkSerializationRedisSerializer,重写serialize和deserialize方法。
public class DecimalSerializer extends JdkSerializationRedisSerializer {
@Override
public Object deserialize(byte[] bytes) throws SerializationException {
if (bytes == null) {
return null;
}
try {
ByteArrayInputStream byteStream = new ByteArrayInputStream(bytes);
ObjectInputStream objectStream = new ObjectInputStream(byteStream);
return new BigDecimal(objectStream.readUTF