看到这篇博文的人对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;
}