zoukankan      html  css  js  c++  java
  • Redis存储对象(序列化和反序列化)

    package com.hp.test;

    import redis.clients.jedis.Jedis;

    import java.io.*;

    public class Test3 implements Serializable {

    private static final long serialVersionUID = 5817891682953072780L;

    private String string;
    public static void main(String[] args) throws Exception {
    Jedis jedis = new Jedis("127.0.0.1" , 6379 , 1000); // redis 的连接
    Test3 test3 = new Test3();
    test3.string="这是序列化和反序列化";
    //把Test3对象存入到Redis中,并从Redis获取Test3对象
    jedis.set("person".getBytes(), serialize(test3));
    byte[] byt=jedis.get("person".getBytes());
    Test3 obj= (Test3) unserizlize(byt);
    System.out.println(obj.string);
    }
    //序列化
    public static byte [] serialize(Object obj) throws Exception {
    ByteArrayOutputStream bai = null;
    ObjectOutputStream obi = null;
    try {
    bai=new ByteArrayOutputStream();
    obi=new ObjectOutputStream(bai);
    obi.writeObject(obj);
    return bai.toByteArray();
    } catch (IOException e) {
    e.printStackTrace();
    }finally {
    if(obi!=null){
    obi.close();
    }
    if(bai!=null){
    bai.close();
    }
    }
    return null;
    }

    //反序列化
    public static Object unserizlize(byte[] byt) throws Exception {
    ObjectInputStream oii=null;
    ByteArrayInputStream bis=null;
    try {
    bis=new ByteArrayInputStream(byt);
    oii=new ObjectInputStream(bis);
    return oii.readObject();
    } catch (Exception e) {

    e.printStackTrace();
    }finally {
    if(oii!=null){
    oii.close();
    }
    if(bis!=null){
    bis.close();
    }
    }
    return null;
    }
    }
  • 相关阅读:
    如何实现浏览器内多个标签页之间的通信?
    vue组件库的基本开发步骤(源代码)
    vue组件库的基本开发步骤
    Websocket原理
    TCP和UDP的区别
    一句话概括 tcp三次握手
    简单说一下你对http和https的理解
    .Ajax(async异步与sync同步)
    get和post请求方式的区别
    面试易忽略状态码
  • 原文地址:https://www.cnblogs.com/lihui123/p/14025022.html
Copyright © 2011-2022 走看看