日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

java cache详解,Java内存缓存详解

發(fā)布時間:2025/3/12 java 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java cache详解,Java内存缓存详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.緩存為什么要存在

應(yīng)用服務(wù)器資源是有限的,數(shù)據(jù)庫每秒中接受請求的次數(shù)也是有限的。如果利用有限的資源來提供盡可能大的吞吐量呢,一個辦法:減少計(jì) 算量,縮短請求流程(減少網(wǎng)絡(luò)io或者硬盤io),這時候緩存就可以大展手腳了

2.什么樣的數(shù)據(jù)可以存到緩存中

一段時間內(nèi)不變的數(shù)據(jù)

3.為什么要有本地緩存

在系統(tǒng)中,有些數(shù)據(jù),數(shù)據(jù)量小,但是訪問十分頻繁(例如國家標(biāo)準(zhǔn)行政區(qū)域數(shù)據(jù)),針對這種場景,需要將數(shù)據(jù)搞到應(yīng)用的本地緩存中,以提升系統(tǒng)的訪問效率,減 少無謂的數(shù)據(jù)庫訪問(數(shù)據(jù)庫訪問占用數(shù)據(jù)庫連接,同時網(wǎng)絡(luò)消耗比較大),但是有一點(diǎn)需要注意,就是緩存的占用空間以及緩存的失效策略。

4.內(nèi)存緩存或本地緩存的原理

實(shí)現(xiàn)緩存的方式就是使用Map,而緩存的實(shí)現(xiàn)則主要分為三大步驟:第一:先到緩存里面查找是否有我們需要的對象,若是存在,則直接返回。第二:若是緩存里面沒有該對象,則將其數(shù)據(jù)添加到緩存中去。以備下次使用。第三:如果找到了相應(yīng)的數(shù)據(jù),或者是創(chuàng)建了相應(yīng)的數(shù)據(jù),那就直接使用這個數(shù)據(jù)。然而,java中Map對象的key設(shè)置為String類型,也是為了查找的方便。

實(shí)際上是建立一個Map集合類實(shí)現(xiàn)把緩存的內(nèi)容保存到內(nèi)存里面,只要服務(wù)器沒有關(guān)閉緩存就不會被清除,除非人為清除

importjava.util.Map;importjava.util.concurrent.ConcurrentHashMap;public classCacheClass {private static Map cache = new ConcurrentHashMap();public static void setCache(String key, String obj, longseconds){

cache.put(key,obj);

}public staticString getCache(String key){returncache.get(key);

}public static voidremoveCache(String key){

cache.remove(key);

}public static voidmain(String args[]){

removeCache("China");

String name= getCache("China");

System.out.println("name="+name);

setCache("China","中國",60*60*24*30);

name= getCache("China");

System.out.println("第二次取值name="+name);

removeCache("China");

name= getCache("China");

System.out.println("第三次取值name="+name);

}

}

總結(jié)

以上是生活随笔為你收集整理的java cache详解,Java内存缓存详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。