Redis 中 byte格式 写入、取出
实体类:
复制代码
package com.nf.redisDemo1.entity;
import java.io.Serializable;
public class News implements Serializable {
private long id;
private String title;
private String body;
public News() {
}
public News(String title, String body) {
this.title = title;
this.body = body;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getBody() {
return body;
}
public void setBody(String body) {
this.body = body;
}
}
复制代码
操作代码:
public class Main {
public static void main(String[] args) throws IOException, ClassNotFoundException {
Jedis jedis = new Jedis();
String key = "listNews";
// Byte 写入 Redis
List<News> news = new ArrayList<>();
news.add(new News("title1","body1"));
news.add(new News("title2","body2"));
news.add(new News("title3","body3"));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(news);
//写入 Redis
jedis.set(key.getBytes(), baos.toByteArray());
//关闭流
oos.close();
// 读取 Byte格式 存入的数据
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(jedis.get(key.getBytes()));
ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream);
List<News> o = (List<News>) objectInputStream.readObject();
System.out.println(o);
}
}