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

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

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

瀏覽:38日期: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久久,三上悠亚国产精品一区二区三区
婷婷亚洲综合| 免费观看久久久4p| 国产人成精品一区二区三| 中文一区一区三区免费在线观| 免费国产自久久久久三四区久久| 色婷婷精品视频| 在线一区视频观看| 久久在线视频免费观看| 999精品在线| 日韩电影二区| 私拍精品福利视频在线一区| 亚洲a在线视频| 香蕉国产精品| 巨乳诱惑日韩免费av| 亚洲免费一区三区| 国产欧美一级| 日韩区欧美区| 久久99青青| 国产伦久视频在线观看| 四虎4545www国产精品| 五月天综合网站| 日韩精品免费一区二区夜夜嗨| 国产精品99久久免费| 高清日韩中文字幕| 免费欧美日韩| 欧美日韩午夜| 里番精品3d一二三区| 精品国产精品久久一区免费式| 日韩精品dvd| 五月精品视频| 日韩av资源网| 福利精品一区| 欧美日韩视频| 国产精选一区| 日韩一区二区免费看| 国产日韩欧美三级| 日韩一区二区久久| a国产在线视频| 日韩欧美美女在线观看| 福利在线一区| 日本精品一区二区三区在线观看视频| 欧美日韩视频免费观看| 91精品麻豆| 1024精品久久久久久久久| 国产精品白浆| 在线精品视频一区| 中文精品电影| 99久久九九| 精品国产午夜肉伦伦影院| 亚洲欧洲日韩精品在线| 蜜桃视频在线网站| 国产日产精品_国产精品毛片| 在线国产一区二区| 国产精品蜜芽在线观看| 亚洲日产av中文字幕| 亚洲成人一区在线观看| 麻豆精品久久久| 亚洲精品护士| 日本午夜免费一区二区| 成人片免费看| 亚洲人成亚洲精品| 日韩精品永久网址| 国产探花在线精品一区二区| 国产99久久| 国产欧美另类| 好看的亚洲午夜视频在线| 久久国产精品美女| 久久99伊人| 日韩精品dvd| 日韩三级精品| 美女少妇全过程你懂的久久| 国产精品成人**免费视频| 免费精品视频最新在线| 久久国产免费| 日韩一区二区久久| 国产精品分类| 国产探花一区| 久久蜜桃精品| 成人va天堂| 极品av在线| 91一区二区| 国产一区不卡| 精品国产网站| 精品久久久网| 欧美激情亚洲| 91福利精品在线观看| 日韩午夜视频在线| 日本不卡一二三区黄网| 欧美激情日韩| 国产高清精品二区| 麻豆国产精品视频| 精品一区二区三区的国产在线观看| 国产图片一区| 久久不卡国产精品一区二区| 久久精品99国产国产精| 日韩成人午夜精品| 日韩av网站免费在线| 日韩不卡一二三区| 国产欧美精品| 久久99影视| 国产不卡av一区二区| 日韩黄色大片网站| 亚洲天堂久久| 最新亚洲一区| 水蜜桃久久夜色精品一区的特点| 国产精品社区| 一二三区精品| 日韩精品一级| 国产精品一区二区三区www| 国产精品调教| 久久中文字幕一区二区| 91亚洲国产高清| 久久精品青草| 日韩视频一区二区三区在线播放免费观看| 欧美日韩精品在线一区| 99视频一区| 蜜桃视频免费观看一区| 日韩av网站在线免费观看| 国产激情精品一区二区三区| 日本一二区不卡| 久久精品青草| 在线看片日韩| 国产欧美日韩精品一区二区免费 | 久久99久久久精品欧美| 乱一区二区av| 色婷婷精品视频| 视频在线观看91| 国产日本亚洲| 日韩在线短视频| 国产农村妇女精品一区二区| 日韩在线黄色| 国产suv精品一区二区四区视频| 日韩欧美综合| 狠狠久久婷婷| 91亚洲无吗| 中文字幕在线高清| 国产精品毛片在线看| 国产精品日韩精品在线播放| 97精品视频在线看| 午夜国产精品视频| 青草综合视频| 欧产日产国产精品视频| 国产亚洲精品v| 国产精品网在线观看| 99精品电影| 日韩精品一区二区三区中文在线| 97在线精品| 亚洲精品激情| 四虎8848精品成人免费网站| 亚洲欧美视频一区二区三区| 国产精品欧美日韩一区| 激情婷婷欧美| 国产亚洲精品美女久久 | 三上悠亚国产精品一区二区三区| 免费在线观看日韩欧美| 久久精品资源| 玖玖玖国产精品| 精品久久亚洲| 视频在线观看91| 人在线成免费视频| 亚洲va久久| 三级精品视频| 欧美片第1页综合| 日韩一区二区久久| 成人在线黄色| 日本v片在线高清不卡在线观看| 国产成人久久精品麻豆二区 | 九一国产精品| 欧美激情视频一区二区三区免费| 99riav国产精品| 高清一区二区三区av| 亚洲精品成人一区| 久久一级电影| 精品久久99| 日韩国产欧美一区二区三区| 久久国产日本精品| 国产精品一区二区精品视频观看| 精品一区亚洲| 91综合网人人| 欧美日韩一视频区二区| 999久久久国产精品| 欧美激情福利| 亚洲精品伊人| 五月精品视频| 成人欧美一区二区三区的电影| 日韩高清成人在线| 国产精品婷婷| 播放一区二区| 精品视频在线观看网站| 亚洲精品极品| 亚洲激情国产| 91精品韩国| 老司机精品视频网| 欧美日韩一区二区三区不卡视频| 久久亚洲二区| 久久精品高清| 中文字幕在线视频久| 国产福利一区二区三区在线播放| 香蕉久久一区| 日韩中文字幕区一区有砖一区 |