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;
}
}
作者:旧歌
链接:https://www.cnblogs.com/wdyjt
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!