Obj转byte,既将对象序列化,和反序列化

来源:互联网 发布:三亚婚纱照工作室 知乎 编辑:程序博客网 时间:2024/06/06 03:48

在使用redis的时候,因为redis将数据缓存到内存中,持久化到硬盘中,所以有时候我们需要将对象,序列化成字节码,可以节省空间吧

直接贴代码

public class RedisObjectSerializer implements RedisSerializer<Object> {  private Converter<Object, byte[]> serializer = new SerializingConverter();  private Converter<byte[], Object> deserializer = new DeserializingConverter();  static final byte[] EMPTY_ARRAY = new byte[0];  public Object deserialize(byte[] bytes) {    if (isEmpty(bytes)) {      return null;    }    try {      return deserializer.convert(bytes);    } catch (Exception ex) {      throw new SerializationException("Cannot deserialize", ex);    }  }  public byte[] serialize(Object object) {    if (object == null) {      return EMPTY_ARRAY;    }    try {      return serializer.convert(object);    } catch (Exception ex) {      return EMPTY_ARRAY;    }  }  private boolean isEmpty(byte[] data) {    return (data == null || data.length == 0);  }}


原创粉丝点击