最小持久性备忘录缓存

cachalot的Python项目详细描述


cachalotPyPI versionPipeline statusCoverage report

cachalot是一个最小的持久化记忆缓存。它提供了一个decorator,用于存储函数结果以供将来使用。非常适合于繁重的计算和I/O操作(如Web请求)。在后端,它使用tinydb进行存储。

功能

  • 通过decorator简单使用
  • 持久缓存
  • 密钥过期
  • 最大缓存大小,防止臃肿

安装

Cachalot需要Python3.5或更新版本才能运行。

python包

您可以使用pip轻松安装cachalot:

pip3 install cachalot

手动

或者,要获得最新的开发版本,可以克隆此存储库,然后手动安装:

git clone git@gitlab.com:radek-sprta/cachalot.git
cd cachalot
python3 setup.py install

用法

fromcachalotimportCache@Cache()defexpensive_function():returnexpensive_calculation()

高级使用

fromcachalotimportCache@Cache(path='cache.json',timeout=3600,size=5e3,filesize=1e6,retry=True)defexpensive_function():returnexpensive_calculation()
  • path:数据库文件的路径。默认为.cache.json。
  • timeout:数据应该缓存多长时间(秒)。默认为0(无限)。
  • {< CD4}}:缓存的最大密钥数量。默认为0(无限)。
  • {< CD5> }:以字节为单位的数据库文件的最大大小。默认为0(无限)。
  • retry:如果结果为空,请重试。默认为false。

有关详细信息,请参见documentation

贡献

有关如何为项目做出贡献的信息,请查看Contributor's Guide

联系人

mail@radeksprta.eu

incoming+radek-sprta/cachalot@gitlab.com

许可证

麻省理工学院许可证

学分

这个包是用Cookiecutterpython-cookiecutter项目模板创建的。灵感来自Cashier

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java检查整数是0还是检查变量是null更好?   java Android Kotlin(初学者)使用File(),并从ACTION\u GET\u内容返回Uri   java JavaFx在“内部场景”和根场景之间切换   spring将XMLBean配置转换为java配置   java JPA HIBERNATE映射列两次(embeddedID和POJO)   c#单态模式模型在什么情况下适用?   java请求。getRemoteUser在特定时间后返回null?   spring boot中PUT api控制器的java my单元测试用例失败   java在字符串中互换地解析和替换值   java Android JNI在应用程序中检测到错误:调用JNI GetMethodID时出现挂起异常   JavaSpringDataMongo:使用非简单键持久化映射   爪哇玻璃鱼连接被拒绝   java如何在用户注册时发送特定电子邮件id的自动回复?   Java列表:实例化时和之后的赋值之间的差异