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
特性:
后端使用字典进行缓存
使用缓存管理轻松访问多个缓存对象
当使用模块级缓存对象,重构运行时的缓存设置
最大缓存大小限制
默认的缓存时间设置以及缓存项自定义存活时间
批量的设置、获取、删除操作
线程安全
多种缓存机制的实现:
FIFO(先进先出)
LIFO(后进先出)
LRU (最近最少使用机制)
MRU (最近最多使用机制)
LFU (最小频率使用机制)
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.