欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JAVA項目字典與緩存搭配使用方法解析

 更新時間:2020年09月27日 09:10:07   作者:海綿般汲取  
這篇文章主要介紹了JAVA項目字典與緩存搭配使用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

字典數(shù)據(jù)是什么?

 這里說了字典不是軟件工程中說的數(shù)據(jù)字典。

字典數(shù)據(jù):用于動態(tài)設(shè)置某對象的屬性是屬于在一個可列舉的數(shù)據(jù)范圍內(nèi)的某一類型數(shù)據(jù),使用字典類型作為該類別屬性的唯一標(biāo)識

如:用戶類型:學(xué)生,老師,家長,校長等

有什么作用?

  字典數(shù)據(jù)由兩個表組成:字典類型表 dict_type,字典類型數(shù)據(jù)表 dict_data

  這個數(shù)據(jù)相當(dāng)于java中的枚舉類,可以被使用于前端的數(shù)據(jù)展示,下拉框數(shù)據(jù)集使用。

沒有數(shù)據(jù)字典時業(yè)務(wù)操作方法:

  定義學(xué)生枚舉類,在代碼中使用枚舉類的key進行數(shù)據(jù)保存,在查詢數(shù)據(jù)后,轉(zhuǎn)換key對應(yīng)的中文名稱label標(biāo)簽返回給前端。

  缺點:如新增用戶類型,修改學(xué)生類型對應(yīng)中文名稱時,需要修改代碼。

使用字典時業(yè)務(wù)操作方法。  

  后端業(yè)務(wù)數(shù)據(jù)存儲的是字典類型的key值,即label標(biāo)簽表示學(xué)生類型對應(yīng)的key值 student,

    新增數(shù)據(jù)時前端通過下拉菜單獲取學(xué)生類型某一個類型key進行新增,查詢數(shù)據(jù)時根據(jù)字典數(shù)據(jù)表的用戶類型作為下拉框查詢條件選擇。

  優(yōu)點:當(dāng)key為student的數(shù)據(jù)中文名稱發(fā)生改變時,不需要后端進行代碼修改。

    如新增用戶時,設(shè)置用戶的類型,下拉框的數(shù)據(jù)可以從數(shù)據(jù)庫獲取數(shù)據(jù),不用前端關(guān)心數(shù)據(jù)集的內(nèi)容,

在業(yè)務(wù)中使用

不使用緩存的方式使用字典數(shù)據(jù):

  業(yè)務(wù)中使用方式,返回用戶列表數(shù)據(jù),將用戶類型的字典數(shù)據(jù)從數(shù)據(jù)庫中查詢出來,然后進行轉(zhuǎn)換。

  在前端查詢數(shù)據(jù)時,前端查詢用戶類型的下拉數(shù)據(jù)集,作為條件,傳類型key值作為查詢條件查詢數(shù)據(jù)。

與緩存搭配使用字典數(shù)據(jù)。

自己控制數(shù)據(jù)緩存。靈活性高:Ehcache,Redis等內(nèi)存緩存框架進行處理。

  如果是單機項目??梢允褂脙?nèi)存緩存。

  緩存的使用方式有多種:

    如使用Mybatis自帶的一級緩存,二級緩存。但如果使用的是不同的SqlSession進行數(shù)據(jù)查詢,這不會用到一級緩存。

    單機項目最好還是使用內(nèi)存緩存框架,如Ehcache,用Map來存儲所有字典數(shù)據(jù)。在更新字典數(shù)據(jù)后,直接整個更新緩存數(shù)據(jù)。

{
  "字典類型": [
    {
      "key": "label"
    }
  ]
}

  如果是分布式(雖然沒實際用過):可以使用redis這種外置的非關(guān)系型數(shù)據(jù)庫存儲緩存數(shù)據(jù)。即一個類型一個key來存儲數(shù)據(jù)。如

  RedisUtils.put( "dict:type_user_type" ) RedisUtils.get( "dict:type_user_type" )

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • springAop實現(xiàn)講解(看這篇夠了)

    springAop實現(xiàn)講解(看這篇夠了)

    AOP面向切面編程是一種編程范式,它通過將通用的橫切關(guān)注點(如日志、事務(wù)、權(quán)限控制等)與業(yè)務(wù)邏輯分離,使得代碼更加清晰、簡潔、易于維護,這篇文章主要介紹了springAop實現(xiàn)講解(看這篇夠了),需要的朋友可以參考下
    2024-02-02
  • java實現(xiàn)輕輕松松控制臺斗地主的示例代碼

    java實現(xiàn)輕輕松松控制臺斗地主的示例代碼

    這篇文章主要介紹了java實現(xiàn)輕輕松松控制臺斗地主,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • java實現(xiàn)堆的操作方法(建堆,插入,刪除)

    java實現(xiàn)堆的操作方法(建堆,插入,刪除)

    下面小編就為大家分享一篇java實現(xiàn)堆的操作方法(建堆,插入,刪除),具有很好的參考價值,希望對大家有所幫助
    2017-12-12
  • Java OOM原因以及解決方案

    Java OOM原因以及解決方案

    這篇文章主要介紹了Java OOM原因以及解決方案,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • Java如何基于command調(diào)用openssl生成私鑰證書

    Java如何基于command調(diào)用openssl生成私鑰證書

    這篇文章主要介紹了Java如何基于command調(diào)用openssl生成私鑰證書,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • Java中操作Xml使用方法備忘錄(Hutool工具類XmlUtil、XStream)

    Java中操作Xml使用方法備忘錄(Hutool工具類XmlUtil、XStream)

    這篇文章主要給大家介紹了關(guān)于Java中操作Xml使用方法(Hutool工具類XmlUtil、XStream)的相關(guān)資料,XMLUtil是一個工具類,主要用于讀取XML配置文件并提供相應(yīng)的操作方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-11-11
  • spring控制事務(wù)的三種方式小結(jié)

    spring控制事務(wù)的三種方式小結(jié)

    這篇文章主要介紹了spring控制事務(wù)的三種方式小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • java PDF添加圖層的方法 支持多頁圖層添加

    java PDF添加圖層的方法 支持多頁圖層添加

    這篇文章主要為大家詳細介紹了java PDF添加圖層的方法,支持多頁圖層添加,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • 基于自定義BufferedReader中的read和readLine方法

    基于自定義BufferedReader中的read和readLine方法

    下面小編就為大家分享一篇基于自定義BufferedReader中的read和readLine方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Java數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)之棧和隊列

    Java數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)之棧和隊列

    這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)之棧和隊列,文中有非常詳細的代碼示例,對正在學(xué)習(xí)java的小伙伴們有一定的幫助,需要的朋友可以參考下
    2021-05-05

最新評論