一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - JAVA項(xiàng)目字典與緩存搭配使用方法解析

JAVA項(xiàng)目字典與緩存搭配使用方法解析

2020-09-27 14:37海綿般汲取 Java教程

這篇文章主要介紹了JAVA項(xiàng)目字典與緩存搭配使用方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

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

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

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

如:用戶(hù)類(lèi)型:學(xué)生,老師,家長(zhǎng),校長(zhǎng)等

有什么作用?

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

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

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

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

  缺點(diǎn):如新增用戶(hù)類(lèi)型,修改學(xué)生類(lèi)型對(duì)應(yīng)中文名稱(chēng)時(shí),需要修改代碼。

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

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

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

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

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

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

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

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

  在前端查詢(xún)數(shù)據(jù)時(shí),前端查詢(xún)用戶(hù)類(lèi)型的下拉數(shù)據(jù)集,作為條件,傳類(lèi)型key值作為查詢(xún)條件查詢(xún)數(shù)據(jù)。

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

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

  如果是單機(jī)項(xiàng)目。可以使用內(nèi)存緩存。

  緩存的使用方式有多種:

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

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

?
1
2
3
4
5
6
7
{
  "字典類(lèi)型": [
    {
      "key": "label"
    }
  ]
}

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

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://www.cnblogs.com/gne-hwz/p/13644625.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 黑帮少爷爱上我第8集在线观看 | 日韩精品亚洲专区在线影视 | 欧美综合精品一区二区三区 | 香蕉免费一区二区三区 | aaa级黄色片| 免费网站看v片在线成人国产系列 | 香蕉在线精品一区二区 | 手机看片日韩1024你懂的首页 | 欧美日韩免费一区二区在线观看 | 2020国产精品永久在线观看 | 波多 在线播放 | 火影小南被爆羞羞网站进入 | 青青草成人在线 | 久久亚洲精品专区蓝色区 | 亚洲福利 影院 | 亚洲国产成人久久精品影视 | 性xxxx欧美高清 | 国产成人精品综合在线观看 | 我年轻漂亮的继坶2中字在线播放 | 亚洲黄色天堂 | 亚洲欧洲日产v特级毛片 | 国产未成女年一区二区 | 欧美草逼网站 | a色在线| 蜜桃视频一区二区 | 国自产精品手机在线视频 | 能免费观看的韩剧 | 成人香蕉xxxxxxx | 亚洲天堂精品在线 | 久久er国产精品免费观看2 | 狠狠色婷婷 | 四虎成人影院 | 青草草在线观看 | 奇米影视久久 | 四虎私人影院 | 国产精品久久国产精品99 | 好湿好紧太硬了我好爽 | 草莓视频旧版 | 天天做天天爰夜夜爽 | 成人男女网免费 | jzzjzz视频免费播放 |