Java Redis可以使用Java序列化的方式存储对象列表。以下是一个基本示例:
// 创建 Redis 连接
Jedis jedis = new Jedis("localhost", 6379);
// 创建对象列表
List<MyObject> myObjects = new ArrayList<>();
myObjects.add(new MyObject("object1", 1));
myObjects.add(new MyObject("object2", 2));
myObjects.add(new MyObject("object3", 3));
// 序列化对象列表并存储到 Redis
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream);
objectOutputStream.writeObject(myObjects);
byte[] bytes = byteArrayOutputStream.toByteArray();
jedis.set("myObjectList", bytes);
// 反序列化 Redis 中的对象列表
byte[] bytesFromRedis = jedis.get("myObjectList".getBytes());
ObjectInputStream objectInputStream = new ObjectInputStream(new ByteArrayInputStream(bytesFromRedis));
List<MyObject> myObjectsFromRedis = (List<MyObject>)objectInputStream.readObject();
需要注意的是,Java序列化不是最优的序列化方式,因为它会产生较大的对象存储和传输负担。另外,如果使用Jackson等JSON序列化库,我们可以将对象列表序列化为JSON格式,具有更好的可读性和可测试性。
本文介绍了如何使用Java与Redis进行对象列表的序列化与反序列化,指出Java序列化虽简单但可能带来存储负担,推荐使用Jackson等JSON库优化。
885

被折叠的 条评论
为什么被折叠?



