Redis存储对象(序列化和反序列化)

package com.hp.test;

import redis.clients.jedis.Jedis;

import java.io.*;

public class Test3 implements Serializable {

private static final long serialVersionUID = 1L;

private String string;
public static void main(String[] args) throws Exception {
Jedis jedis = new Jedis("127.0.0.1" , 6379 , 1000); // redis 的连接
Test3 test3 = new Test3();
test3.string="这是序列化和反序列化";
//把Test3对象存入到Redis中,并从Redis获取Test3对象
jedis.set("person".getBytes(), serialize(test3));
byte[] byt=jedis.get("person".getBytes());
Test3 obj= (Test3) unserizlize(byt);
System.out.println(obj.string);
}
//序列化
public static byte [] serialize(Object obj) throws Exception {
ByteArrayOutputStream bai = null;
ObjectOutputStream obi = null;
try {
bai=new ByteArrayOutputStream();
obi=new ObjectOutputStream(bai);
obi.writeObject(obj);
return bai.toByteArray();
} catch (IOException e) {
e.printStackTrace();
}finally {
if(obi!=null){
obi.close();
}
if(bai!=null){
bai.close();
}
}
return null;
}

//反序列化
public static Object unserizlize(byte[] byt) throws Exception {
ObjectInputStream oii=null;
ByteArrayInputStream bis=null;
try {
bis=new ByteArrayInputStream(byt);
oii=new ObjectInputStream(bis);
return oii.readObject();
} catch (Exception e) {

e.printStackTrace();
}finally {
if(oii!=null){
oii.close();
}
if(bis!=null){
bis.close();
}
}
return null;
}
}
posted @ 2020-11-25 10:29  小韩呐~  阅读(1088)  评论(0编辑  收藏  举报