java 使用 jedis 向 key中list 存取 object
时间: 2024-03-16 09:47:37 浏览: 39
在 Java 中使用 Jedis 向 Redis 中存取 Object 类型的数据,需要将 Object 进行序列化和反序列化操作。常用的序列化和反序列化工具有 Jackson、FastJson、Gson 等,这里以 Jackson 为例。
示例代码:
```java
// 连接 Redis 数据库
Jedis jedis = new Jedis("localhost", 6379);
// 定义 Object 类型数据
User user = new User("Tom", 18);
// 序列化 Object 数据
String json = new ObjectMapper().writeValueAsString(user);
// 将序列化后的数据存入 Redis 的 List 中
jedis.lpush("listKey", json);
// 获取 Redis 中 List 中的数据
List<String> list = jedis.lrange("listKey", 0, -1);
// 遍历 List 中的数据并反序列化
for (String data : list) {
User u = new ObjectMapper().readValue(data, User.class);
System.out.println(u.getName() + " " + u.getAge());
}
// 关闭连接
jedis.close();
```
其中,User 类是一个自定义的 Java Bean,包含了 name 和 age 两个属性。在序列化和反序列化时,需要使用 ObjectMapper 对象进行转换。
需要注意的是,存放到 Redis 中的 Object 数据需要进行序列化,存入 Redis 的 List 中的是一个字符串,需要进行反序列化才能获取原始数据。另外,由于 Redis 是一个内存数据库,存储大量的 Object 数据可能会占用大量内存,需要根据实际情况进行调整。