Redis通过IO进行序列化+反序列化
必须引用序列化Serializable接口
创建类:Role
package com.wbg.springRedis.entity; import java.io.Serializable; public class Role implements Serializable { private int id; private String roleName; private String note; @Override public String toString() { return "Role{" + "id=" + id + ", roleName='" + roleName + '\'' + ", note='" + note + '\'' + '}'; } public Role() { } public Role(String roleName, String note) { this.roleName = roleName; this.note = note; } public Role(int id, String roleName, String note) { this.id = id; this.roleName = roleName; this.note = note; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getRoleName() { return roleName; } public void setRoleName(String roleName) { this.roleName = roleName; } public String getNote() { return note; } public void setNote(String note) { this.note = note; } }
创建RoleRedisStream类(该类就是调用公共类)
package com.wbg.springRedis.redis; import redis.clients.jedis.Jedis; import java.io.*; import java.util.List; public class RoleRedisStream { public void byteArrayOutputStream(Jedis jedis, List<?> list, String key) throws IOException { ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(bos); oos.writeObject(list); jedis.set(key.getBytes(),bos.toByteArray()); oos.close(); } public List<?> byteArrayInputStream(Jedis jedis,String key) throws IOException, ClassNotFoundException { ByteArrayInputStream bis = new ByteArrayInputStream(jedis.get(key.getBytes())); ObjectInputStream ois = new ObjectInputStream(bis); List<?> list1 = (List<?>) ois.readObject(); ois.close(); return list1; } }
测试:
RoleRedisStream roleRedisStream = new RoleRedisStream(); List<Role> list = new ArrayList<>(); for (int i = 0; i < 20; i++) { Role role = new Role(i, "roleName" + i, "note" + i); list.add(role); } //通过ObjectOutputStream序列化 roleRedisStream.byteArrayOutputStream(new Jedis(), list,"rolee2"); //用过ObjectInputStream反序列化 System.out.println(roleRedisStream.byteArrayInputStream(new Jedis(), "rolee2"));
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下