redis中存储java对象的两种方式

根据redis的存储原理,Redis的key和value都支持二进制安全的字符串

1.利用序列化和反序列化的方式

存储java对象我们可以通过对象的序列化与反序列化完成存储于取出,这样就可以使用redis存储java对象了

步骤:创建一个序列化和反序列化的工具类

public class SerializeUtil {  
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) {  
}  
return null;  
}  
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) {  
}  
return null;  
}  

}

每次存储和取出对象时都是需要调用方法序列与反序列的

方法2:将java对象转换为json字符串,利用json与java对象之间可以相互转换的方式进行存值和取值

具体存值和取值在上一篇文章中有写json与java对象的相互转换问题

你可能感兴趣的:(Javaweb)