社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

python的缓存库:cacheout

Python程序员 • 6 年前 • 616 次点击  

Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。

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
译者:刘航



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/bWTQxCtr8N
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/8066
 
616 次点击