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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

如何用LinkedHashMap打造FIFO和LRU缓存系统

發布時間:2024/1/3 综合教程 34 生活家
生活随笔 收集整理的這篇文章主要介紹了 如何用LinkedHashMap打造FIFO和LRU缓存系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本篇文章給大家分享的是有關如何用LinkedHashMap打造FIFO和LRU緩存系統,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

對于緩存來說,我相信很多人都不會陌生。一般的,對于常用的一些數據,基礎數據等,也或者是為了高并發,比如搶購等把熱點數據放入緩存中以實現高并發快速響應。

說到緩存,Redis、memcached 等在面試中屬于必問的知識點了。雖然這些專門的緩存系統做的很強大,看起來很復雜,但底層的原理其實很簡單。今天我們一起來通過 LinkedHashMap 來打造兩個 FIFO 和 LRU 機制的緩存系統。

FIFO 很好理解,就是 First In First Out,先入先出。就和隊列一樣,先進隊列的先出隊列。根據這個 FIFO 的這個特點,我們就可以通過 LinkedHashMap 來實現這種機制的緩存系統了。

上面幾行代碼就搞定了 FIFO 機制的緩存。測試代碼也很簡單,如下所示:

測試結果截圖如下所示:

通過上面這個測試結果,可以看出,這個緩存系統并不完美。當我更新元素后,我想讓它重新插入隊列,相當于重新入隊。因為它剛剛被更新過,說明使用頻次可能更高一些。于是 LRU,這種緩存淘汰機制就應用而生了。

LRU 就是(Least Recently Used),最近最少使用,意思就是最近讀取的數據放在最前面,最早讀取的數據放在最后面,如果這個時候有新的數據進來,當緩存空間不夠時,那么最后面存儲的數據淘汰。實現代碼如下所示:

以上就是如何用LinkedHashMap打造FIFO和LRU緩存系統,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注箭頭云行業資訊頻道。

總結

以上是生活随笔為你收集整理的如何用LinkedHashMap打造FIFO和LRU缓存系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。