redis序列化对象的方法

在使用redis进行对象存储时,需要对对象进行序列化操作,使用字节流的方式实现的工具类。
代码具体如下:

package com.leo.pay.util;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

import org.apache.log4j.Logger;

/**
 * 对象序列化工具
 * @author leo
 * @since 1.0.0_2016年12月1日
 */
public class SerializeUtil {

    private static Logger logger = Logger.getLogger(SerializeUtil.class);

/**
 * 序列化对象
 * @author leo
 * @since 1.0.0_2016年12月1日
 */
    public static byte[] serialize(Object object) {
        ObjectOutputStream oos = null;
        ByteArrayOutputStream baos = null;
        try {
            baos = new ByteArrayOutputStream();
            oos = new ObjectOutputStream(baos);
            oos.writeObject(object);
            byte[] bytes = baos.toByteArray();
            return bytes;
        } catch (Exception e) {
            logger.warn("序列化对象出现异常: ", e);
        }
        return null;
    }

/**
 * 反序列化对象
 * @author leo
 * @since 1.0.0_2016年12月1日
 */
    public static Object unserialize(byte[] bytes) {
        ByteArrayInputStream bais = null;
        try {
            bais = new ByteArrayInputStream(bytes);
            ObjectInputStream ois = new ObjectInputStream(bais);
            return ois.readObject();
        } catch (Exception e) {
            logger.warn("反序列化对象出现异常: ", e);
        }
        return null;
    }

}

你可能感兴趣的:(redis序列化对象的方法)