1: java中序列化与反序列化
package data.seriableObject;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import data.pojo.Product;
import redis.clients.jedis.Jedis;
public class Serialize {
// public static void main(String [] args){
// Jedis jedis = new Jedis("172.16.135.2");
// String keys = "name";
// // 删数据
// //jedis.del(keys);
// // 存数据
// jedis.set(keys, "zy");
// // 取数据
// String value = jedis.get(keys);
// System.out.println(value);
//
// //存对象
// Product p=new Product();
// jedis.set("person".getBytes(), serialize(p));
// byte[] byt=jedis.get("person".getBytes());
// Object obj=unserizlize(byt);
// if(obj instanceof Product){
// System.out.println(obj);
// }
// }
//序列化
public static byte [] serialize(Object obj){
ObjectOutputStream obi=null;
ByteArrayOutputStream bai=null;
try {
bai=new ByteArrayOutputStream();
obi=new ObjectOutputStream(bai);
obi.writeObject(obj);
byte[] byt=bai.toByteArray();
return byt;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
//反序列化
public static Object unserizlize(byte[] byt){
ObjectInputStream oii=null;
ByteArrayInputStream bis=null;
bis=new ByteArrayInputStream(byt);
try {
oii=new ObjectInputStream(bis);
Object obj=oii.readObject();
return obj;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
byte[] byt=jedis.get(id.getBytes());
Object obj=null;
if (byt!=null && byt.length != 0) {
logger.debug("使用redis");
obj=new Serialize().unserizlize(byt);
}
来源:https://www.cnblogs.com/liyafei/p/9343933.html