python的缓存库:cacheout

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来管理多个缓存对象:

posted @ 2018-03-07 10:04  cloud789  阅读(456)  评论(0)    收藏  举报