<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></ul>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    cache java

    文檔

    cache java

    Cache是一個像Map一樣的數據結構,它允許基于Key的臨時儲存,也是java應用中間常用的緩存,訪問數據庫的時候為了提高效率而使用的cache,從而減少對數據庫的讀取次數。
    推薦度:
    導讀Cache是一個像Map一樣的數據結構,它允許基于Key的臨時儲存,也是java應用中間常用的緩存,訪問數據庫的時候為了提高效率而使用的cache,從而減少對數據庫的讀取次數。

    cache java是什么, 讓我們一起了解一下?

    Cache?是一個像 Map 一樣的數據結構,它允許基于 Key 的臨時儲存。緩存被單個?CacheManager?擁有。

    Java 的緩存 API 定義了五個核心接口:CachingProvider,CacheManager,Cache,Entry?和?ExpiryPolicy。

    Java實現cache的基本機制是什么?

    我這里說的cache不是指CPU和RAM之間的緩存,而是java應用中間常用的緩存。最常使用的場合就是訪問數據庫的時候為了提高效率而使用的 cache。一般的用法就是把數據從數據庫讀到內存,然后之后的數據訪問都從內存來讀,從而減少對數據庫的讀取次數來提高效率。

    說了這么多,Java?下到底如何實現Cache,希望下面的實際案例可以幫助到你。

    public?class?CacheFactory?{
    ???private?static?ConcurrentHashMap?caches?=?new?ConcurrentHashMap<>();
    ???private?static?ScheduledExecutorService?executorService?=?Executors.newScheduledThreadPool(1);
    ?
    ???private?static?void?register(Cache?cache)?{
    ??????caches.put(cache.category(),?cache);
    ???}
    ?
    ???private?static?void?registerAll()?{
    ??????register(new?StockCache());
    ???}
    ?
    ???public?static?void?init()?{
    ??????registerAll();
    ?
    ??????for?(Cache?cache?:?caches.values())?{
    ?????????executorService.scheduleAtFixedRate(new?Runnable()?{
    ????????????@Override
    ????????????public?void?run()?{
    ???????????????cache.refresh();
    ????????????}
    ?????????},?0,?cache.interval(),?TimeUnit.MILLISECONDS);
    ??????}
    ???}
    ?
    ???public?static?Cache?getCache(String?key)?{
    ??????if?(caches.contains(key))?{
    ?????????return?caches.get(key);
    ??????}
    ??????return?null;
    ???}
    }
    ?
    //?cache接口除了需要提供interval和refresh以外,還需要提供一個category來區分不同的Cache
    public?interface?Cache?{
    ???/**
    ????*?Refresh?the?cache.?If?succeed,?return?true,?else?return?false;
    ????*?
    ????*?@return
    ????*/
    ???boolean?refresh();
    ?
    ???/**
    ????*?How?much?time?it?will?refresh?the?cache.
    ????*?
    ????*?@return
    ????*/
    ???long?interval();
    ?
    ???/**
    ????*?Cache's?category.?Each?cache?has?distinct?category.
    ????*?
    ????*?@return
    ????*/
    ???String?category();
    }

    以上就是小編今天的分享了,希望可以幫助到大家。

    文檔

    cache java

    Cache是一個像Map一樣的數據結構,它允許基于Key的臨時儲存,也是java應用中間常用的緩存,訪問數據庫的時候為了提高效率而使用的cache,從而減少對數據庫的讀取次數。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關推薦
    calendar java qq實名認證怎么解除 callable java character java class轉java cmake java compareto java 被刪的微信聊天記錄怎么找回來 continue java django java 微信怎么群發消息給多人 double java dozer java eclipse創建java arrays java awesome java 小程序和app的區別 enum java excel讀取java extend java c#調用java接口 c#調用java brew java boolean java bitset java axis java asterisk java assert java 怎樣改抖音名字的昵稱 aspect java ansible java ajax java antlr java 交管12123怎么查科目一分數 abstract java 拼多多拒收在哪里操作 微信恢復刪除的聊天記錄 微信掃碼不能掃了怎么辦 怎樣查看微信刪除的聊天記錄 兩個二維碼怎么拼一起
    Top 67194老司机精品午夜| 国产成人精品久久一区二区三区av| 国产午夜精品理论片| 久久蜜桃精品一区二区三区 | 久久精品国产半推半就| 精品国产线拍大陆久久尤物| 无码国产精品一区二区免费vr| www亚洲精品少妇裸乳一区二区| 亚洲精品二三区伊人久久| 自拍偷在线精品自拍偷无码专区 | 精品剧情v国产在线麻豆| 99久久99久久精品免费观看| 精品久久久久一区二区三区| 尤物精品视频一区二区三区| 2021在线观看视频精品免费| 日韩精品免费视频| 精品国内自产拍在线观看| 毛片亚洲AV无码精品国产午夜| 亚洲国产精品久久丫| 久久久久久国产精品免费免费男同 | 高清免费久久午夜精品| 亚洲Av永久无码精品黑人| 久久国产精品无码一区二区三区| 国内精品久久久久久久久电影网| 日本五区在线不卡精品| 日本精品在线观看视频| 2020国产欧洲精品视频 | 欧美人妻少妇精品久久黑人| 亚洲国产福利精品一区二区| 亚洲国语精品自产拍在线观看| 国产成人无码精品久久久性色| 视频一区二区精品的福利| 超碰97久久国产精品牛牛| 3atv国产精品视频| 国产精品亚洲午夜一区二区三区| 无码国产精品一区二区免费式芒果 | 久热爱精品视频线路一| 亚洲精品国产肉丝袜久久| 日韩精品视频一区二区三区| 久久精品国产久精国产| 国产精品亚洲片在线观看不卡|