有时候想往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(); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。