redis 序列化存入对象

Posted L_O_V_E_Java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis 序列化存入对象相关的知识,希望对你有一定的参考价值。

redis 序列化存入对象

 //序列化 
    public static byte [] serialize(Object obj){
        ObjectOutputStream obi=null;
        ByteArrayOutputStream bai=null;
        try {
            bai=new ByteArrayOutputStream();
            obi=new ObjectOutputStream(bai);
            obi.writeObject(obj);
            byte[] byt=bai.toByteArray();
            return byt;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
    
    //反序列化
    public static Object unserizlize(byte[] byt){
        ObjectInputStream oii=null;
        ByteArrayInputStream bis=null;
        bis=new ByteArrayInputStream(byt);
        try {
            oii=new ObjectInputStream(bis);
            Object obj=oii.readObject();
            return obj;
        } catch (Exception e) {
            
            e.printStackTrace();
        }
    
        
        return null;
    }
    
    @Test
    public void testSerialize(){
        AuUser auUser = new AuUser();
        auUser.setId("1");
        auUser.setUsername("zs");
        auUser.setPassword("123");
        
        jedis.set("user".getBytes(), serialize(auUser));
        byte[] byt = jedis.get("user".getBytes());
        Object object = unserizlize(byt);
        if(object instanceof AuUser){
            AuUser user = (AuUser) object;
            System.out.println(user.getUsername());
            System.out.println(user.getPassword());
        }
    }

结果

 

以上是关于redis 序列化存入对象的主要内容,如果未能解决你的问题,请参考以下文章

Redis序列化和java存入Redis数据序列化反序列化总结

实战Redis序列化性能测试(Kryo和字符串)

redis set序列化存入缓存

redis序列化方式

c#如何将object类型序列化为二进制存入SQLSERVER中,并从数据库中读出来并反序列化得到object对象

实战:第十九章:存入Long类型对象,在代码中使用Long类型接收,结果报类型转换错误