前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python缓存神奇库cacheout全解

Python缓存神奇库cacheout全解

作者头像
小小科
发布2018-05-04 14:14:04
2.2K0
发布2018-05-04 14:14:04
举报
文章被收录于专栏:北京马哥教育北京马哥教育

python的缓存库(cacheout)

链接:

  • 项目: https://github.com/dgilland/cacheout
  • 文档地址: https://cacheout.readthedocs.io
  • PyPI(下载链接): https://pypi.python.org/pypi/cacheout/
  • TravisCI(下载链接): https://travis-ci.org/dgilland/cacheout

特性:

  • 后端使用字典进行缓存
  • 使用缓存管理轻松访问多个缓存对象
  • 当使用模块级缓存对象,重构运行时的缓存设置
  • 最大缓存大小限制
  • 默认的缓存时间设置以及缓存项自定义存活时间
  • 批量的设置、获取、删除操作
  • 线程安全
  • 多种缓存机制的实现:
    1. FIFO(先进先出)
    2. LIFO(后进先出)
    3. LRU (最近最少使用机制)
    4. MRU (最近最多使用机制)
    5. LFU (最小频率使用机制)
    6. RR (随机替换机制)

线路图:

  • 层级缓存(多层级缓存)
  • 支持缓存事件监听
  • 获取缓存对象时的常规表示方法
  • 获取缓存对象不存在时的回调处理支持
  • 统计缓存

要求:

  • Python >= 3.4

快速开始:

下载安装:

通过创建一个缓存对象来开始了解:

默认的缓存的大小为256,默认存活时间是关闭的,这些属性可以通过如下设置:

设置一个缓存可以通过cache.set():

获取缓存键的值通过:cache.get():

为每个键值对设置存活过期时间:

缓存函数的计算结果:

为缓存函数提供了键值对的存活时间:

函数解除缓存:

复制机制:

删除缓存中的一个键值对:

清除整个缓存:

为get、set、delete设置了批量方法:

重置已经初始化的缓存对象:

通过cache.keys(), cache.values(), and cache.items()获取所有的键、值、以及键值对:

迭代整个缓存的键:

检测键是否还存在于缓存中通过cache.has() and key in cache方法

通过使用CacheManager来管理多个缓存对象:

更多的细节请查看整篇文档https://cacheout.readthedocs.io.

英文原文:https://github.com/dgilland/cacheout?utm_source=mybridge&utm_medium=web&utm_campaign=read_more 译者:刘航

《Python人工智能和全栈开发》2018年07月23日即将在北京开课,120天冲击Python年薪30万,改变速约~~~~

*声明:推送内容及图片来源于网络,部分内容会有所改动,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

- END -


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 马哥Linux运维 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档