最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

redis中存儲list<map>,list<entity>的處理

 更新時間:2024年06月20日 11:30:46   作者:geekmice  
本文主要介紹了redis中存儲list<map>,list<entity>的處理,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

用到的工具類

1、序列化操作

String multiMapStr = JSON.toJSONString(multiMapList); // list轉(zhuǎn)換為json字符串
Object o = JSON.parse(userList); // list轉(zhuǎn)換為object
List<Map<String, String>> maps = CastBeanUtil.castListMap(JSON.parse(userList), String.class, String.class);// object轉(zhuǎn)換list
List tzAreas = JSON.parseArray(res, TzArea.class); // 反序列化,json字符串轉(zhuǎn)換為list

2、object轉(zhuǎn)換為指定類型的map或者其他類型

使用如下工具類,可以將object轉(zhuǎn)換為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需要轉(zhuǎn)換,該方法可以轉(zhuǎn)換為字符串類型或者其他引用類型
     * 問題:雙層for循環(huán)
     * @param obj 源數(shù)據(jù)
     * @param kCalzz key對應(yīng)class類型
     * @param vCalzz value對應(yīng)class類型
     * @param <K>key類型
     * @param <V>value類型
     * @return list<map>
     */
    public static <K, V> List<Map<K, V>> castListMap(Object obj, Class<K> kCalzz, Class<V> vCalzz) {
        List<Map<K, V>> result = new ArrayList<>();
        if (obj instanceof List<?>) {
            for (Object mapObj : (List<?>) obj) {
                if (mapObj instanceof Map<?, ?>) {
                    Map<K, V> map = new HashMap<>(16);
                    for (Map.Entry<?, ?> entry : ((Map<?, ?>) mapObj).entrySet()) {
                        map.put(kCalzz.cast(entry.getKey()), vCalzz.cast(entry.getValue()));
                    }
                    result.add(map);
                }
            }
            return result;
        }
        return null;
    }

}

通過字符串類型處理

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

List<Map<String, String>> multiMapList = Lists.newArrayList();
for (int i = 0; i < 5; i++) {
     LinkedHashMap<String, String> 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<Map<String, String>> maps = CastBeanUtil.castListMap(JSON.parse(userList), String.class, String.class);
log.info("maps : [{}]", maps);

list《entity》結(jié)構(gòu)數(shù)據(jù)

List<TzArea> 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<TzArea> tzAreas = JSON.parseArray(res, TzArea.class);
 log.info("tzAreas : [{}]", JSON.toJSONString(tzAreas));

到此這篇關(guān)于redis中存儲list<map>,list<entity>的處理的文章就介紹到這了,更多相關(guān)redis list<map> list<entity>內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • SpringBoot整合阿里云OSS對象存儲服務(wù)的實現(xiàn)

    SpringBoot整合阿里云OSS對象存儲服務(wù)的實現(xiàn)

    這篇文章主要介紹了SpringBoot整合阿里云OSS對象存儲服務(wù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 最簡單的Spring Cloud教程第一篇:服務(wù)的注冊與發(fā)現(xiàn)(Eureka)

    最簡單的Spring Cloud教程第一篇:服務(wù)的注冊與發(fā)現(xiàn)(Eureka)

    這篇文章主要給大家介紹了關(guān)于Spring Cloud服務(wù)的注冊與發(fā)現(xiàn)(Eureka)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用spring cloud具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-08-08
  • 分享Java性能調(diào)優(yōu)的11個實用技巧

    分享Java性能調(diào)優(yōu)的11個實用技巧

    這些建議中的大多數(shù)都是基于Java的,但是也不一定,也有一些是可以應(yīng)用于所有的應(yīng)用程序和編程語言的。在我們分享基于Java的性能調(diào)優(yōu)技巧之前,讓我們先討論一下這些通用的性能調(diào)優(yōu)技巧
    2017-11-11
  • java根據(jù)模板導(dǎo)出PDF的詳細實現(xiàn)過程

    java根據(jù)模板導(dǎo)出PDF的詳細實現(xiàn)過程

    前段時間因為相關(guān)業(yè)務(wù)需求需要后臺生成pdf文件,所以下面這篇文章主要給大家介紹了關(guān)于java根據(jù)模板導(dǎo)出PDF的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-02-02
  • mybatis中mapper代理的生成過程全面分析

    mybatis中mapper代理的生成過程全面分析

    這篇文章主要為大家介紹了mybatis中mapper代理的生成過程全面分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • Java Unsafe 類的講解

    Java Unsafe 類的講解

    這篇文章主要給大家分享了 Java Unsafe 類的講解,文章圍繞Unsafe 類的相關(guān)資料展開詳細內(nèi)容,具有一定的參考價值需要的朋友可以參考一下
    2021-11-11
  • Java中多態(tài)與接口示例詳解

    Java中多態(tài)與接口示例詳解

    這篇文章主要介紹了Java中多態(tài)與接口的相關(guān)資料,多態(tài)允許一個接口或父類引用指向不同子類或?qū)崿F(xiàn)類的對象,并在運行時執(zhí)行相應(yīng)子類或?qū)崿F(xiàn)類的方法,接口定義了一組方法,但沒有實現(xiàn),實現(xiàn)接口的類必須提供這些方法的具體實現(xiàn),需要的朋友可以參考下
    2026-03-03
  • spring-session簡介及實現(xiàn)原理源碼分析

    spring-session簡介及實現(xiàn)原理源碼分析

    這篇文章主要介紹了spring-session簡介及實現(xiàn)原理源碼分析,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • java多線程編程之使用Synchronized塊同步變量

    java多線程編程之使用Synchronized塊同步變量

    我們可以通過synchronized塊來同步特定的靜態(tài)或非靜態(tài)方法。要想實現(xiàn)這種需求必須為這些特性的方法定義一個類變量,然后將這些方法的代碼用synchronized塊括起來,并將這個類變量作為參數(shù)傳入synchronized塊
    2014-01-01
  • mybatis sum(參數(shù)) 列名作為參數(shù)的問題

    mybatis sum(參數(shù)) 列名作為參數(shù)的問題

    這篇文章主要介紹了mybatis sum(參數(shù)) 列名作為參數(shù)的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01

最新評論

聊城市| 宜川县| 柯坪县| 丰镇市| 刚察县| 平江县| 兴安盟| 屏山县| 肇州县| 马尔康县| 定安县| 镇康县| 仁寿县| 潞城市| 阿鲁科尔沁旗| 科技| 博客| 满城县| 长岛县| 连城县| 临安市| 嵊泗县| 若羌县| 渭源县| 基隆市| 德令哈市| 泾川县| 卓资县| 水城县| 定南县| 靖州| 新竹县| 新安县| 明星| 三亚市| 抚顺市| 麻栗坡县| 莱芜市| 大厂| 汶上县| 白朗县|