关于Java数据结构转储(本文适合初学者)

有时候想往mysql 或者 redis数据库存点数据结构。尤其是redis,尽量把大块数据打包存起来,减少set 和 get数据次数。再说远点,对分布式数据同步也是有很大的好处。

下面简单介绍一下Java中怎么将一大块数据结构打包存进数据库中。我们将会借用一个桥梁:JSON抽象类

打包数据结构:

private static void test_redis_data_construct() {
        // 存储前转换成Json格式
        Jedis jedis = RedisUtil.getJedis();
        Map<Object, Object> map = new HashMap<>();
        Map<Object, Object> submap = new HashMap<>();
        submap.put("key1", 11);
        map.put("sub_map", submap);
        String jsonStr = JSON.toJSONString(map);
        System.out.println("Create jsonStr: " + jsonStr);
        jedis.set("test_map", jsonStr);
        jedis.close();
    }

 

 解析数据结构:

private static void test_get_redis_data() {
        // jsonString转换成Map,注意格式转换与写入时相同
        Jedis jedis = RedisUtil.getJedis();
        String jsonStr = jedis.get("test_map");
        Map<String, HashMap> jsonMap = JSON.parseObject(
                jsonStr, new TypeReference<HashMap<String, HashMap>>() {
                });
        HashMap subMap = jsonMap.get("sub_map");
        System.out.printf("subMap Value is %s \n",subMap.get("key1"));
        jedis.close();
    }

 

posted @ 2022-08-17 22:22  2015夏  阅读(59)  评论(0编辑  收藏  举报