最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實現(xiàn)LRU熱點緩存及原理

 更新時間:2019年10月29日 09:19:51   作者:dpj999  
LRU算法根據(jù)數(shù)據(jù)的歷史訪問記錄來進(jìn)行淘汰數(shù)據(jù),其核心思想是“如果數(shù)據(jù)最近被訪問過,那么將來被訪問的幾率也更高”。 。這篇文章主要介紹了python實現(xiàn)LRU熱點緩存,需要的朋友可以參考下

LRU

LRU(Least recently used,最近最少使用)算法根據(jù)數(shù)據(jù)的歷史訪問記錄來進(jìn)行淘汰數(shù)據(jù),其核心思想是“如果數(shù)據(jù)最近被訪問過,那么將來被訪問的幾率也更高”。

基于列表+Hash的LRU算法實現(xiàn)。

  • 訪問某個熱點時,先將其從原來的位置刪除,再將其插入列表的表頭
  • 為使讀取及刪除操作的時間復(fù)雜度為O(1),使用hash存儲熱點的信息的鍵值
class LRUCaceh():
   def __init__(self, size=5):
     '''
     默認(rèn)隊列的長度為5
     使用列表來維護(hù),使用字典來查詢
     '''
     self.size = size
     self.cache = dict()
     self.key = []
 ​
   def get(self, key):
     '''
     獲取緩存中的key的值
     '''
     if self.cache.get(key):
       self.key.remove(key)
       self.key.insert(0, key)
       return self.cache[key]
     return None
 ​
   def set(self, key, value):
     '''
     設(shè)置緩存,實現(xiàn)緩存淘汰
     '''
     if self.cache.get(key):
       self.cache.pop(key)
       self.cache[key] = value
       self.key.remove(key)
       self.key.insert(0, key)
     elif len(self.key) == self.size:
       old_key = self.key.pop()
       self.key.insert(0, key)
       self.cache.pop(old_key)
       self.cache[key] = value
     else:
       self.key.insert(0, key)
       self.cache[key] = value

總結(jié)

以上所述是小編給大家介紹的python實現(xiàn)LRU熱點緩存及原理,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • pytorch如何凍結(jié)某層參數(shù)的實現(xiàn)

    pytorch如何凍結(jié)某層參數(shù)的實現(xiàn)

    這篇文章主要介紹了pytorch如何凍結(jié)某層參數(shù)的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Python爬蟲之正則表達(dá)式的使用教程詳解

    Python爬蟲之正則表達(dá)式的使用教程詳解

    本文實例代碼相結(jié)合給大家詳細(xì)介紹了Python爬蟲之正則表達(dá)式的使用,包括參數(shù)介紹,最常規(guī)的匹配,匹配目標(biāo),非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-10-10
  • 基于python+selenium自動健康打卡的實現(xiàn)代碼

    基于python+selenium自動健康打卡的實現(xiàn)代碼

    這篇文章主要介紹了基于python+selenium自動健康打卡,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Pytorch轉(zhuǎn)tflite方式

    Pytorch轉(zhuǎn)tflite方式

    這篇文章主要介紹了Pytorch轉(zhuǎn)tflite方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python使用OpenPyXL庫操作Excel表的操作指南

    Python使用OpenPyXL庫操作Excel表的操作指南

    在現(xiàn)代辦公中,Excel表格無疑是處理數(shù)據(jù)、生成報告和分析信息的得力助手,無論是財務(wù)統(tǒng)計、數(shù)據(jù)整理還是業(yè)務(wù)分析,Excel 都扮演著不可或缺的角色,然而,手動處理Excel表格既費時又容易出錯,故本文給大家介紹了Python使用OpenPyXL庫操作Excel表的操作指南
    2024-11-11
  • 用python處理MS Word的實例講解

    用python處理MS Word的實例講解

    今天小編就為大家分享一篇用python處理MS Word的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python實現(xiàn)最短路徑問題的方法

    Python實現(xiàn)最短路徑問題的方法

    本篇章主要介紹圖的最短路徑問題,包括Dijkstra算法和Floyd算法.并用Python代碼實現(xiàn),需要的朋友可以參考下
    2021-06-06
  • python 根據(jù)csv表頭、列號讀取數(shù)據(jù)的實現(xiàn)

    python 根據(jù)csv表頭、列號讀取數(shù)據(jù)的實現(xiàn)

    這篇文章主要介紹了python 根據(jù)csv表頭、列號讀取數(shù)據(jù)的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python3中使用PyMongo的方法詳解

    Python3中使用PyMongo的方法詳解

    平常在處理數(shù)據(jù)的時候,必不可少地要使用數(shù)據(jù)庫存取數(shù)據(jù),出于一些原因,個人非常喜歡MongoDB這個數(shù)據(jù)庫。下面這篇文章主要給大家介紹了Python3中使用PyMongo的方法示例,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • pyinstaller的介紹與使用超詳細(xì)講解

    pyinstaller的介紹與使用超詳細(xì)講解

    PyInstaller是一個Python庫,可以將Python應(yīng)用程序轉(zhuǎn)換為獨立的可執(zhí)行文件,下面這篇文章主要給大家介紹了關(guān)于pyinstaller的介紹與使用的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11

最新評論

田林县| 吉水县| 尉氏县| 呈贡县| 滨海县| 来凤县| 延庆县| 五河县| 调兵山市| 嘉义市| 绵阳市| 达日县| 建阳市| 常熟市| 东明县| 八宿县| 溧水县| 二连浩特市| 鱼台县| 建阳市| 舞钢市| 隆化县| 文安县| 班玛县| 浦县| 舟山市| 北宁市| 晋宁县| 石台县| 灯塔市| 甘孜县| 宣恩县| 赣榆县| 威远县| 将乐县| 清镇市| 岳西县| 县级市| 水富县| 和林格尔县| 沾化县|