日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java手動實現Redis的LRU緩存機制

瀏覽:37日期:2022-08-12 10:16:15
目錄前言第一種實現(使用LinkedHashMap)第二種實現(雙鏈表+hashmap)補充前言

最近在逛博客的時候看到了有關Redis方面的面試題,其中提到了Redis在內存達到最大限制的時候會使用LRU等淘汰機制,然后找了這方面的一些資料與大家分享一下。 LRU總體大概是這樣的,最近使用的放在前面,最近沒用的放在后面,如果來了一個新的數,此時內存滿了,就需要把舊的數淘汰,那為了方便移動數據,肯定就得使用鏈表類似的數據結構,再加上要判斷這條數據是不是最新的或者最舊的那么應該也要使用hashmap等key-value形式的數據結構。

第一種實現(使用LinkedHashMap)

public class LRUCache { int capacity; Map<Integer,Integer> map; public LRUCache(int capacity){this.capacity = capacity;map = new LinkedHashMap<>(); } public int get(int key){//如果沒有找到if (!map.containsKey(key)){ return -1;}//找到了就刷新數據Integer value = map.remove(key);map.put(key,value);return value; } public void put(int key,int value){if (map.containsKey(key)){ map.remove(key); map.put(key,value); return;}map.put(key,value);//超出capacity,刪除最久沒用的即第一個,或者可以復寫removeEldestEntry方法if (map.size() > capacity){ map.remove(map.entrySet().iterator().next().getKey());} } public static void main(String[] args) {LRUCache lruCache = new LRUCache(10);for (int i = 0; i < 10; i++) { lruCache.map.put(i,i); System.out.println(lruCache.map.size());}System.out.println(lruCache.map);lruCache.put(10,200);System.out.println(lruCache.map); }

Java手動實現Redis的LRU緩存機制

第二種實現(雙鏈表+hashmap)

public class LRUCache { private int capacity; private Map<Integer,ListNode>map; private ListNode head; private ListNode tail; public LRUCache2(int capacity){this.capacity = capacity;map = new HashMap<>();head = new ListNode(-1,-1);tail = new ListNode(-1,-1);head.next = tail;tail.pre = head; } public int get(int key){if (!map.containsKey(key)){ return -1;}ListNode node = map.get(key);node.pre.next = node.next;node.next.pre = node.pre;return node.val; } public void put(int key,int value){if (get(key)!=-1){ map.get(key).val = value; return;}ListNode node = new ListNode(key,value);map.put(key,node);moveToTail(node);if (map.size() > capacity){ map.remove(head.next.key); head.next = head.next.next; head.next.pre = head;} } //把節點移動到尾巴 private void moveToTail(ListNode node) {node.pre = tail.pre;tail.pre = node;node.pre.next = node;node.next = tail; } //定義雙向鏈表節點 private class ListNode{int key;int val;ListNode pre;ListNode next;//初始化雙向鏈表public ListNode(int key,int val){ this.key = key; this.val = val; pre = null; next = null;} }}補充

像第一種方式,如果復寫removeEldestEntry會更簡單,這里簡單的展示一下

public class LRUCache extends LinkedHashMap<Integer,Integer> { private int capacity;@Override protected boolean removeEldestEntry(Map.Entry<Integer, Integer> eldest) {return size() > capacity; }}

以上就是Java手動實現Redis的LRU緩存機制的詳細內容,更多關于Java 實現Redis的LRU緩存機制的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
精品丝袜久久| 综合激情视频| 99国产精品视频免费观看一公开| 日韩精品电影一区亚洲| 日本国产精品| 国产午夜久久av| 激情婷婷综合| 精品淫伦v久久水蜜桃| 9久re热视频在线精品| 国产欧美一区二区三区精品观看| 美女少妇全过程你懂的久久| 欧美国产日本| 免费视频一区二区| 欧美成人a交片免费看| 欧美一区成人| 国产一区白浆| 日韩一区亚洲二区| 国产精品主播| 中文字幕日韩高清在线| 久久国产影院| 精品理论电影在线| 日韩**一区毛片| 亚洲经典在线| 欧美激情另类| 欧美激情一区| 综合视频一区| 欧美亚洲精品在线| 国产成人免费视频网站视频社区| 日韩精品久久久久久久软件91| 亚洲欧美一区在线| 国产高清不卡| 毛片不卡一区二区| 日本精品另类| 美女日韩在线中文字幕| 激情自拍一区| 在线亚洲人成| 国产一区日韩| 国产精品久久久免费| 亚洲精品在线a| 国产精品美女久久久| 国产亚洲一区二区手机在线观看| 国产一区二区三区视频在线| 国产精品v亚洲精品v日韩精品| 日韩一区二区三区高清在线观看| 99亚洲视频| 好吊视频一区二区三区四区| 欧美日韩水蜜桃| 免费高潮视频95在线观看网站| 久久97视频| 久久久91麻豆精品国产一区| 青青青国产精品| 亚洲精品四区| 蜜桃久久久久久| 免费日韩av片| 黄色在线一区| 亚洲高清久久| 在线日韩视频| 亚洲婷婷在线| 亚洲成人一区| 欧美成人高清| 蜜桃一区二区三区| 久久久久久久久丰满| 91精品亚洲| 欧美亚洲国产一区| 欧美久久精品一级c片| 婷婷亚洲五月| 亚洲精品网址| 男人天堂欧美日韩| 视频一区欧美精品| 中文字幕一区二区精品区| 国产婷婷精品| 美女精品在线观看| 综合日韩在线| 日韩福利视频一区| 国产精品亚洲产品| 精品久久99| 成人福利视频| 激情久久婷婷| 视频一区二区三区入口| 亚洲精品影院在线观看| 开心激情综合| 精品一区欧美| 免费不卡中文字幕在线| 99久久亚洲精品蜜臀| 欧美二三四区| 国产精品videosex极品| 国产精品调教视频| 国产区精品区| 久久av导航| 久久只有精品| 精品久久91| 在线一区av| 少妇精品导航| 精品欧美日韩精品| 国产精品男女| 欧美日韩亚洲一区| 蜜桃免费网站一区二区三区| 欧美日中文字幕| 亚洲精品一级| 日韩一区免费| 伊人久久av| 免费av一区| 日韩中文字幕不卡| 婷婷亚洲精品| 国产精品久久久一区二区| 精品视频网站| 超碰在线99| 国产91久久精品一区二区| 一本一道久久a久久精品蜜桃| 国产视频一区欧美| 亚洲人成毛片在线播放女女| 青青草91久久久久久久久| 国产精品xxx| 91亚洲人成网污www| 99精品视频在线| 黄色亚洲免费| 日产欧产美韩系列久久99| 国产欧美午夜| 日韩1区2区| 91精品高清| 日本v片在线高清不卡在线观看| 国产精品亚洲产品| 成人午夜网址| 欧美久久精品一级c片| 四虎在线精品| 精品深夜福利视频| 香蕉精品视频在线观看| 视频一区日韩精品| 精品亚洲a∨一区二区三区18| 久久国产直播| 久久亚洲视频| 久久av超碰| 国产综合欧美| 91精品麻豆| 97精品国产| 久久亚洲电影| 免费亚洲婷婷| 欧美va天堂| 久久国产精品免费精品3p | 精品中文一区| 亚洲精品美女91| 久久青草久久| 婷婷五月色综合香五月| 中文字幕在线视频久| 日韩视频1区| 亚洲成人精品| 18国产精品| aa亚洲婷婷| 中文在线免费视频| 欧美日韩一区二区高清| 午夜国产精品视频| 国产69精品久久| 日韩黄色在线观看| 亚洲精品成人| 久久久久久色| 美女精品一区| 肉色欧美久久久久久久免费看| 少妇精品久久久一区二区三区| 久久精品亚洲| 免费在线观看视频一区| 福利一区二区三区视频在线观看| 久久成人国产| 日韩av有码| 在线看片日韩| 久久uomeier| 欧美一区二区三区久久精品| 成人久久一区| 国产欧美啪啪| 国产视频亚洲| caoporn视频在线| 日韩高清成人在线| 国产成人精品福利| 精品国产一级| 久久久噜噜噜| 日韩一区二区三区精品 | 国产丝袜一区| 精品久久久久中文字幕小说| 一区二区三区四区日韩| 啪啪国产精品| 久久99免费视频| 六月天综合网| 久久青草久久| 精品一级视频| 亚洲ww精品| 中文亚洲欧美| 久久精品官网| 国产欧美一级| 综合色就爱涩涩涩综合婷婷| 国产91精品对白在线播放| 美女性感视频久久| 日韩二区在线观看| 国产亚洲毛片| 亚洲成人精品| jizzjizz中国精品麻豆| 国产精品久久久久久妇女| 荡女精品导航| 国产高清日韩| 欧美一级二级视频| 石原莉奈在线亚洲二区| 欧美成人国产|