Redis存储Java对象
2016-07-14 16:06
393 查看
public static void main(String[] args) {
//操作Redis
Jedis jed = new Jedis("10.5.7.108", 6379);
String tokenKey = "Token_" + "10189433";
//Token对象初始化,并存储到Redis
Token tok = new Token();
tok.setAccount("10189433");
tok.setCurToken("123456654321asdfghjkl");
Date date = new Date();
tok.setCurTokenTime(date);
tok.setTokenKey(tokenKey);
//serialize方法将tok对象序列化对象,并存储到Redis里
jed.set(tokenKey.getBytes(), serialize(tok));
//通过Key获取Token对象
byte[] value = jed.get(tokenKey.getBytes());
//将byte[]数组反序列对象
Object object = unserialize(value);
//循环获取值,并打印
if (object != null) {
Token token = (Token) object;
System.out.println(token.getAccount());
System.out.println(token.getCurToken());
System.out.println(token.getCurTokenTime());
}
System.out.println(jed.del(tokenKey.getBytes()));
}
//序列化(将对象序列化byte[]数组)
public static byte[] serialize(Object object) {
ObjectOutputStream os = null;
ByteArrayOutputStream ba = null;
try {
ba = new ByteArrayOutputStream();
os = new ObjectOutputStream(ba);
os.writeObject(object);
byte[] bytes = ba.toByteArray();
return bytes;
} catch (Exception e) {
}
return null;
}
// 反序列化(将byte[]反序列化对象)
public static Object unserialize(byte[] bytes) {
ByteArrayInputStream is = null;
try {
is = new ByteArrayInputStream(bytes);
ObjectInputStream ois = new ObjectInputStream(is);
return ois.readObject();
} catch (Exception e) {
}
return null;
}
//操作Redis
Jedis jed = new Jedis("10.5.7.108", 6379);
String tokenKey = "Token_" + "10189433";
//Token对象初始化,并存储到Redis
Token tok = new Token();
tok.setAccount("10189433");
tok.setCurToken("123456654321asdfghjkl");
Date date = new Date();
tok.setCurTokenTime(date);
tok.setTokenKey(tokenKey);
//serialize方法将tok对象序列化对象,并存储到Redis里
jed.set(tokenKey.getBytes(), serialize(tok));
//通过Key获取Token对象
byte[] value = jed.get(tokenKey.getBytes());
//将byte[]数组反序列对象
Object object = unserialize(value);
//循环获取值,并打印
if (object != null) {
Token token = (Token) object;
System.out.println(token.getAccount());
System.out.println(token.getCurToken());
System.out.println(token.getCurTokenTime());
}
System.out.println(jed.del(tokenKey.getBytes()));
}
//序列化(将对象序列化byte[]数组)
public static byte[] serialize(Object object) {
ObjectOutputStream os = null;
ByteArrayOutputStream ba = null;
try {
ba = new ByteArrayOutputStream();
os = new ObjectOutputStream(ba);
os.writeObject(object);
byte[] bytes = ba.toByteArray();
return bytes;
} catch (Exception e) {
}
return null;
}
// 反序列化(将byte[]反序列化对象)
public static Object unserialize(byte[] bytes) {
ByteArrayInputStream is = null;
try {
is = new ByteArrayInputStream(bytes);
ObjectInputStream ois = new ObjectInputStream(is);
return ois.readObject();
} catch (Exception e) {
}
return null;
}
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- redis安装问题小结
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序