当前位置: 首页 > news >正文

绑定网站推广联盟

绑定网站,推广联盟,网站建设丨金手指排名,设计b2c网站建设OrderedDict 实现 Least Recently used(LRU)缓存 引言正文 引言 LRU 缓存是一种缓存替换策略,当缓存空间不足时,会移除最久未使用的数据以腾出空间存放新的数据。LRU 缓存的特点: 有限容量:缓存拥有固定的…

OrderedDict 实现 Least Recently used(LRU)缓存

  • 引言
  • 正文

引言

LRU 缓存是一种缓存替换策略,当缓存空间不足时,会移除最久未使用的数据以腾出空间存放新的数据。LRU 缓存的特点:

  1. 有限容量:缓存拥有固定的容量,当容量满时,需要移除旧数据。
  2. 淘汰策略:将最久未使用的缓存项移除。
  3. 快速访问:访问,插入,删除的复杂度位 O(1)。

本文将介绍 OrderedDict 实现 Least Recently used(LRU)缓存的方法。

正文

from collections import OrderedDictclass LRUCache:def __init__(self, capacity: int):self.cache = OrderedDict()self.capacity = capacitydef get(self, key: str) -> int:if key not in self.cache:return -1self.cache.move_to_end(key)return self.cache[key]def put(self, key: str, value: int) -> None:if key in self.cache:self.cache.move_to_end(key)self.cache[key] = valueif len(self.cache) > self.capacity:self.cache.popitem(last=False)if __name__ == '__main__':lru = LRUCache(2)lru.put('a', 1)lru.put('b', 2)print(lru.get('a'))  # 1lru.put('c', 3)print(lru.get('b'))  # -1

当使用 print(lru.get('a')) 语句输出结果时,键值对 'a':1 会被放在 OrderedDict 最后的位置,lru.put('c', 3) 会导致位于开始位置的元素 'b':2 被删除。当我们再次使用 print(lru.get('b')) 访问 'b':2 元素时会得到返回值 -1 提示我们当前缓存中已经不存在该元素。

如果大家觉得有用,就点个赞让更多的人看到吧~

http://www.wangmingla.cn/news/136527.html

相关文章:

  • 有哪些网站可以做推广连云港seo
  • 做视频网站用什么云盘好seo关键词优化费用
  • 科技网站开发百度收录
  • 郑州负面新闻真多绍兴seo排名
  • html5做网站链接范例seo的中文意思是什么
  • 1.网站建设基本流程是什么seo是什么地方
  • 中国纵横168网站建设系统百度网盘怎么用
  • qq说说赞在线自助下单网站网站优化软件费用
  • 男的做那个视频网站安卓优化大师下载安装
  • ppt模板背景图片全套安卓优化清理大师
  • t型布局网站seo平台优化
  • 网站备案多久通过seo编辑招聘
  • 靠谱建网站公司游戏推广公司好做吗
  • 北京做网站价格快刷网站
  • 铁岭 开原网站建设seo技术顾问阿亮
  • 深圳专业做网站电话seo的搜索排名影响因素有
  • 网页设计的网网页设计的网站建设黄金网站软件app大全下载
  • 集团网站建设案例与网站作用网站维护是做什么的
  • 图书馆建设网站免费代码网站
  • wordpress数据库里更改域名佛山企业用seo策略
  • 网站关键字怎么优化北京百度seo服务
  • wp做图网站外链网盘系统
  • 制作网站的过程百度问一问
  • 天河做网站设计百度经验实用生活指南
  • 如何做介绍一门课程的网站网络推广平台收费不便宜
  • 木马网站怎么做sem是什么牌子
  • 织梦 网站栏目管理 很慢网站优化哪个公司好
  • 微信链接网站怎么做的奶茶软文案例300字
  • 做淘宝客网站需要注意什么2020 惠州seo服务
  • 哪个网站做兼职可以赚钱企业邮箱注册