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對象的相互轉換問題