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

旺苍网站建设福清市城乡建设局网站

旺苍网站建设,福清市城乡建设局网站,如何辨别官方网站,网站制作xiu021文章目录 cachetools缓存策略缓存操作 TTLCache cachetools是一个Python第三方库#xff0c;提供了多种缓存算法的实现。 cachetools 使用前需要先安装pip install cachetools#xff0c;说明文档参见https://cachetools.readthedocs.io/en/latest/。 cachetools提供了五种… 文章目录 cachetools缓存策略缓存操作 TTLCache cachetools是一个Python第三方库提供了多种缓存算法的实现。 cachetools 使用前需要先安装pip install cachetools说明文档参见https://cachetools.readthedocs.io/en/latest/。 cachetools提供了五种缓存类型 CachedLRUCacheTTLCacheLFUCacheRRCache 缓存策略 cachetools提供了以下常见的缓存策略当需要为新的条目腾出空间时如何移除已有条目 Least Recently Used (LRU): 移除最近最少使用的条目这是一种常见的缓存策略适用于大多数场景。Most Recently Used (MRU): 移除最近最常使用的条目这种策略适用于一些特殊场景例如当最近访问的数据不太可能再次访问时。Random Replacement (RR): 随机移除一个条目。这种策略实现简单但性能相对较差。First-In-First-Out (FIFO): 按照条目添加到缓存的顺序进行移除这种策略适用于一些特定场景例如缓存的数据具有固定生命周期。 cachetools中允许自定义缓存策略只需继承cachetools.Cache类并实现相应的方法。 from cachetools import Cacheclass SizeLimitedCache(Cache):def __init__(self, maxsize):super().__init__(maxsizemaxsize)def __getitem__(self, key, cache_getitemCache.__getitem__):return cache_getitem(self, key)def __setitem__(self, key, value, cache_setitemCache.__setitem__):if len(self) self.maxsize:self.popitem() # 删除一个缓存项cache_setitem(self, key, value)# 使用自定义缓存策略 custom_cache SizeLimitedCache(maxsize10) for i in range(20):key key-{}.format(i)custom_cache[key] iprint(custom_cache.items())缓存操作 创建缓存时都需指定最大条目数lru cachetools.LRUCache(maxsize100) maxsize参数代表的是缓存中可以存储的最大条目数量 缓存的添加、获取等类似dict操作 # 添加缓存项 lru[key] value# 获取缓存项 # value lru.get(key) # 不存在时返回None value lru.get(key, default_value)# 删除缓存项 if key in lru:del lru[key]# 更新缓存项 lru[key] new_value其他有用函数与属性 clear()清空Cachepopitem()根据策略移除一项currsize获取当前缓存条目数量 TTLCache TTLCache可设定过期时间过期后缓存条目自动失效 expire(self, timeNone)移除过期若time为None在使用当前时间条目get时不会更新过期时间只有重新设定数据cache[key]data才会更新过期时间已满时添加新条目会先移除过期条目然后尝试移除第一条。 def expensive_fun(arg1, arg2):key (arg1, arg2)# 如果缓存中已经有计算结果直接返回result cache.get(key)if result is not None:cache[key] result # extend expire-timereturn result, cached# 执行计算并将结果保存到缓存中time.sleep(1) # expensive calcresult arg1 arg2cache[key] resultreturn result, re-calc## cache test cache TTLCache(maxsize5, ttl10) for i in range(10):print(datetime.now(), expensive_fun(i, 2))print(cache.items())print(cache.items())for i in range(5):time.sleep(3)print(datetime.now(), expensive_fun(1, 2)) print(cache.items())# 等待缓存项已经过期 time.sleep(11)# 再次调用需要重新计算因为缓存项已经被清除了 print(datetime.now(), expensive_fun(1, 2))
http://www.dnsts.com.cn/news/176233.html

相关文章:

  • 网站建设与管理ppt模板做淘宝网站用什么软件
  • 网站可以自己备案吗微信引流推广
  • 做网站的公司深做网站需要买什么东西
  • 搭建一个wordpress网站多钱集团公司管理系统
  • 做i网站企业网站 案例
  • 爱墙 网站怎么做唐山哪里做网站
  • 建设网站的政策风险分析权威网站发布平台
  • 怎么做外围网站代理杭州公司注册地址最新要求
  • 网站的ftp帐号建设工程施工合同2017
  • 购物网站有哪些模块wordpress程序分析
  • 织梦高端大气网站模板兰州口碑营销
  • 做定制网站怎么样有什么比wordpress好的
  • 无锡网站设计无锡网站建设金启网站建设
  • 首页有动效的网站深圳手机端网站建设专业
  • 建设企业网站中国建设银行wordpress菜单调用图片
  • 长沙自动化网站建设网上学编程哪个培训班最好
  • html网页制作参考文献网站做优化是什么意思
  • c2c网站的特点个人养老保险12000元
  • 怎么开通网站平台企业策划工作内容
  • 检察院门户网站建设方案深圳微信建网站
  • 网页设计作品到哪个网站做网站时怎么添加动态信息
  • 电子商务网站建设与管理课件企业网站自己怎么做
  • 上海网站建设的价格九江公司网站建设
  • 长春专业网站建设公司排名西安网站建设公司咪豆
  • 柳州公司网站建设网页设计在哪里接单
  • 网站建设专业开发公司wordpress 主题阁
  • 爱站网关键词密度餐饮o2o平台有哪些
  • 壁画网站建设电子商务网站业务流程
  • 广东网站建设seo优化公司介绍ppt制作模板
  • 网站网站开发网络科技公司logo设计