redis存储java对象

1、redis要存储java对象,首先要将java对象序列化

public class Person implements Serializable {  
    private int id;  
    private String name;  
  
  public Person(int id, String name) {  
    this.id = id;  
    this.name = name;  
  }  
  
  public int getId() {  
     return id;  
  }  
  
  public String getName() {  
     return name;  
  }  
  
}

2、下一个自己的序列化与反序列化工具类

public class SerializeUtil {  
  public static byte[] serialize(Object object) {  
    ObjectOutputStream oos = null;  
    ByteArrayOutputStream baos = null;  
    try {  
    //序列化  
      baos = new ByteArrayOutputStream();  
      oos = new ObjectOutputStream(baos);  
      oos.writeObject(object);  
      byte[] bytes = baos.toByteArray();  
      return bytes;  
    } catch (Exception e) {  
  }  
  return null;  
}  
  
public static Object unserialize(byte[] bytes) {  
  ByteArrayInputStream bais = null;  
  try {  
  //反序列化  
    bais = new ByteArrayInputStream(bytes);  
    ObjectInputStream ois = new ObjectInputStream(bais);  
    return ois.readObject();  
  } catch (Exception e) {  
 }  
  return null;  
}  
}

3、将对象写入redis中

public void setObject() {  
	Person person = new Person(100, "alan");  
	jedis.set("person:100".getBytes(), SerializeUtil.serialize(person));  
	person = new Person(101, "bruce");  
	jedis.set("person:101".getBytes(), SerializeUtil.serialize(person));  
} 

4、从redis读取对象

public Person getObject(int id) {  
	byte[] person = jedis.get(("person:" + id).getBytes());  
	return (Person) SerializeUtil.unserialize(person);  
}


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值