向redis存储java bean数据处理的两种方式

    看到这篇博文的人对redis肯定有了一定的初步了解,java一般使用jedis jar包对redis进行操作,我们在set key,value时会发现重载的方法有两种,一种是传入String,一种是byte数组,根据参数我们发现了两种处理java bean的方法:

(1)把java bean序列化,反序列化来进行 数据的存取,具体实施如下:

import java.io.Serializable;
import java.util.ArrayList;
//我们先定义一种javabean来继承可序列化接口
public class Data<T> extends ArrayList implements Serializable{
}

写一个序列化反序列化工具:

 //对象转byte数组
    public static byte [] serializableUtil(Object obj) {
        byte[] bytes=null;
        try {
            ByteArrayOutputStream bais = new ByteArrayOutputStream();
            ObjectOutputStream ois = new ObjectOutputStream(bais);
            ois.writeObject(obj);
            bytes = bais.toByteArray();
            ois.close();
            bais.close();
            return bytes;
        } catch (IOException e) {
            System.out.print("序列化失败");

        }
        return bytes;
    }
    //byte数组转对象
    public static Object unSerialzableUtil(byte []bytes){
        Object obj=null;
        try {
            ByteArrayInputStream bais=new ByteArrayInputStream(bytes);
            ObjectInputStream ois=new ObjectInputStream(bais);
            obj=(Object)ois.readObject();
        }catch(Exception e){
            e.printStackTrace();
        }
       return obj;
    }

(2)通过gson,fastjson这些工具来把对象转String,或者String转对象,如下:

//Object to String
    public static String  objectToString(Object object){

        Gson gson=new Gson();
        String jsonStr=gson.toJson(object);
        return jsonStr;
    }

    //String to Object
    public static Object strToObject(String str){
        Gson gson=new Gson();
        Object object=gson.fromJson(str,Object.class);
        return object;
    }


猜你喜欢

转载自blog.csdn.net/lkwan123/article/details/79621289