您的位置:首页 > 数据库 > Redis

Redis存储Java对象

2016-07-14 16:06 393 查看
public static void main(String[] args) {

        

        //操作Redis

        Jedis jed = new Jedis("10.5.7.108", 6379);

        String tokenKey = "Token_" + "10189433";

        //Token对象初始化,并存储到Redis

        Token tok = new Token();

        tok.setAccount("10189433");

        tok.setCurToken("123456654321asdfghjkl");

        Date date = new Date();

        tok.setCurTokenTime(date);

        tok.setTokenKey(tokenKey);

        

        //serialize方法将tok对象序列化对象,并存储到Redis里

        jed.set(tokenKey.getBytes(), serialize(tok));

        //通过Key获取Token对象

        byte[] value = jed.get(tokenKey.getBytes());

        

        //将byte[]数组反序列对象

        Object object = unserialize(value);

        

        //循环获取值,并打印

        if (object != null) {

            Token token = (Token) object;

            System.out.println(token.getAccount());

            System.out.println(token.getCurToken());

            System.out.println(token.getCurTokenTime());

        }

        System.out.println(jed.del(tokenKey.getBytes()));

    }

    //序列化(将对象序列化byte[]数组)

    public static byte[] serialize(Object object) {

        ObjectOutputStream os = null;

        ByteArrayOutputStream ba = null;

        try {

        

            ba = new ByteArrayOutputStream();

            os = new ObjectOutputStream(ba);

            os.writeObject(object);

            byte[] bytes = ba.toByteArray();

            return bytes;

        } catch (Exception e) {

        }

        return null;

    }

    // 反序列化(将byte[]反序列化对象)

    public static Object unserialize(byte[] bytes) {

        ByteArrayInputStream is = null;

        try {

            is = new ByteArrayInputStream(bytes);

            ObjectInputStream ois = new ObjectInputStream(is);

            return ois.readObject();

        } catch (Exception e) {

        }

        return null;

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis java 存储