redis中存储list<map>,list<entity>的处理-kb88凯时官网登录

来自:网络
时间:2024-09-10
阅读:
免费资源网,https://freexyz.cn/

用到的工具类

1、序列化操作

string multimapstr = json.tojsonstring(multimaplist); // list转换为json字符串
object o = json.parse(userlist); // list转换为object
list> maps = castbeanutil.castlistmap(json.parse(userlist), string.class, string.class);// object转换list
list tzareas = json.parsearray(res, tzarea.class); // 反序列化,json字符串转换为list

2、object转换为指定类型的map或者其他类型

使用如下工具类,可以将object转换为list《map》

package com.geekmice.springbootselfexercise.utils;
import java.util.arraylist;
import java.util.hashmap;
import java.util.list;
import java.util.map;
/**
 * @belongsproject: spring-boot-self-exercise
 * @belongspackage: com.geekmice.springbootselfexercise.utils
 * @author: pingmingbo
 * @createtime: 2023-12-09  15:34
 * @description: 缓存工具类
 * @version: 1.0
 */
public class castbeanutil {
    private castbeanutil() {
    }
    /**
     * json.parsearray返回object需要转换,该方法可以转换为字符串类型或者其他引用类型
     * 问题:双层for循环
     * @param obj 源数据
     * @param kcalzz key对应class类型
     * @param vcalzz value对应class类型
     * @param key类型
     * @param value类型
     * @return list

通过字符串类型处理

list《map》形式
key:字符串
val:序列化过的字符串

list> multimaplist = lists.newarraylist();
for (int i = 0; i < 5; i  ) {
     linkedhashmap itemmap = maps.newlinkedhashmap();
     itemmap.put("name", "jack"   i);
     if (i % 2 == 0) {
         itemmap.put("age", string.valueof(10   i));
         itemmap.put("sex", "男");
     } else {
         itemmap.put("age", string.valueof(11   i));
         itemmap.put("sex", "女");
     }
     multimaplist.add(itemmap);
 }
string multimapstr = json.tojsonstring(multimaplist);
client.opsforvalue().set("str:multiusers", multimapstr, dateconstant.time_of_day, timeunit.seconds);
string userlist = client.opsforvalue().get("str:multiusers");
list> maps = castbeanutil.castlistmap(json.parse(userlist), string.class, string.class);
log.info("maps : [{}]", maps);

list《entity》结构数据

list arealist = lists.newarraylist();
 for (int i = 0; i < 10; i  ) {
     tzarea item = new tzarea();
     item.setareaid((long) i);
     item.setareaname("江苏省");
     item.setlevel(1);
     item.setparentid(1l);
     arealist.add(item);
 }
 client.opsforvalue().set("str:multiareas", json.tojsonstring(arealist), dateconstant.time_of_day, timeunit.seconds);
 string res = client.opsforvalue().get("str:multiareas");
 list tzareas = json.parsearray(res, tzarea.class);
 log.info("tzareas : [{}]", json.tojsonstring(tzareas));

到此这篇关于redis中存储list<map>,list<entity>的处理的文章就介绍到这了,更多相关redis list<map> list<entity>内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持! 

免费资源网,https://freexyz.cn/
返回顶部
顶部
网站地图